反应不更新窗口间隔内的状态变量

时间:2021-06-03 21:11:05

标签: javascript reactjs

所以我在 React 中建立了一个练习网站,并制作了 DIY Image Carousel。它的工作方式是更新图像的偏移量并以这种方式滑动它们。

问题是,我想补充一点,它会自动触发。这是更新偏移量的函数。

  const offsetChanger = (left = true) => {
    let off = offset;

    let znak = left ? -1 : 1;

    off += 100 * znak;

    if (off <= -((slideCount + 1) * 100)) {
      window.setTimeout(() => {
        setTransition("none");
        setOffset(-100);
      }, 500);
    } else if (off >= 0) {
      window.setTimeout(() => {
        setTransition("none");
        setOffset(-(slideCount * 100));
      }, 500);
    }

    setTransition("0.5s ease-in-out");

    setCounter(counter + 1);
    setOffset(off);
  };

我想做这样的事情,但它每次都会将我的偏移变量重置回 -100:

 useEffect(() => {
    window.setInterval(offsetChanger,3000)
  }, [])

我真的很感激任何帮助!谢谢!

0 个答案:

没有答案
相关问题