首页 > 解决方案 > 在 useEffect 间隔内使用设置状态

问题描述

我想每秒在我的一个状态变量中添加一个值并将其显示在 UI 上。我正在尝试下面的代码,但我在 UI 上看到了奇怪的行为(UI 元素没有每秒正确更新)。我认为因为设置状态是异步的,所以更新导致奇怪行为的状态需要时间。我怎样才能做到这一点?

const [abc, setAbc] = useState("");
  const xyz = "aaa";
  useEffect(() => {
    setInterval(() => {
      setAbc((prev) =>
        prev.length !== xyz.length ? prev + xyz[prev.length] : ""
      );
    }, 1000);
  });

标签: reactjssetintervaluse-effectuse-state

解决方案


推荐阅读