React Native-使用useEffect的if / else无限循环

时间:2020-05-18 07:25:26

标签: javascript react-native

我的功能很完美,但最后却陷入无限循环。

 useEffect(() => {
        if (!isReady) {
          const prepTimer = () => {
            let {eventDate} = {
              eventDate: moment.duration().add({
                minutes: 0,
                seconds: 4,
              }),
            };

            let count = 1;

            const x = setInterval(
              (function x() {
                count = count + 1;

                if (eventDate <= 0) {
                  clearInterval(x);

                  setPreparationOver(true);
                  setIsReady(true);
                  console.log('PREP STOPED');

                } else {
                  eventDate = eventDate.subtract(1, 's');

                  console.log('PREP COUNTDOWN', eventDate);
                }
                return x;
              })(),
              1000,
            );
          };
          prepTimer();
        } else {
          return null;
        }
      }, []);

我有其他类似的功能,但是没有问题。 任何想法? 谢谢!

0 个答案:

没有答案