最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Expected to return a value at the end of arrow function error - Stack Overflow

programmeradmin0浏览0评论

I have this error Expected to return a value at the end of arrow function consistent-return. Im not sure how I can prevent this.

Im trying to stop the Swiper carousel when the screen-size is below 1060px

    import Swiper from 'swiper';

    export default function () {
      let articlesGalleryCarousel;

      const doSomething = () => {
        const enableSwiper = () => {
          articlesGalleryCarousel = new Swiper('.js-swiper-container', {
            loop: true,
            slidesPerView: 'auto',
            centeredSlides: true,
            a11y: true,
            keyboardControl: true,
            grabCursor: true,
            pagination: '.swiper-pagination',
            paginationClickable: true,
            navigation: {
              nextEl: '.carousel-button--prev',
              prevEl: '.carousel-button--next',
            },
          });
        };

        const breakpoint = window.matchMedia('(max-width:1060px)');

        const breakpointChecker = () => {
          if (breakpoint.matches === true) {
            if (articlesGalleryCarousel !== undefined) articlesGalleryCarousel.destroy(true, true);
          } else if (breakpoint.matches === false) {
            return enableSwiper();
          }
        };

        breakpoint.addListener(breakpointChecker);

        breakpointChecker();
      };
      return doSomething;
    }

I have this error Expected to return a value at the end of arrow function consistent-return. Im not sure how I can prevent this.

Im trying to stop the Swiper carousel when the screen-size is below 1060px

    import Swiper from 'swiper';

    export default function () {
      let articlesGalleryCarousel;

      const doSomething = () => {
        const enableSwiper = () => {
          articlesGalleryCarousel = new Swiper('.js-swiper-container', {
            loop: true,
            slidesPerView: 'auto',
            centeredSlides: true,
            a11y: true,
            keyboardControl: true,
            grabCursor: true,
            pagination: '.swiper-pagination',
            paginationClickable: true,
            navigation: {
              nextEl: '.carousel-button--prev',
              prevEl: '.carousel-button--next',
            },
          });
        };

        const breakpoint = window.matchMedia('(max-width:1060px)');

        const breakpointChecker = () => {
          if (breakpoint.matches === true) {
            if (articlesGalleryCarousel !== undefined) articlesGalleryCarousel.destroy(true, true);
          } else if (breakpoint.matches === false) {
            return enableSwiper();
          }
        };

        breakpoint.addListener(breakpointChecker);

        breakpointChecker();
      };
      return doSomething;
    }
Share Improve this question asked Dec 28, 2018 at 15:29 Antony MossAntony Moss 1872 gold badges2 silver badges8 bronze badges 1
  • 26:34 error Expected to return a value at the end of arrow function consistent-return This is the error im getting – Antony Moss Commented Dec 28, 2018 at 15:30
Add a ment  | 

2 Answers 2

Reset to default 4

This is an ESLint consistent-return warning.

"This rule requires return statements to either always or never specify values"

Your function "breakpointChecker" did not returns something in case of the first IF statement.

ESLint is telling you that an arrow function should always or never return a value.

You have one branch that returns a value (return enableSwiper();) and one that doesn't (if breakpoint.matches is true).

So -- do you want that function to always return a value or to never return a value?

发布评论

评论列表(0)

  1. 暂无评论