小编Ada*_*mer的帖子

React useState 不会在窗口事件中更新

状态确实在滚动上设置,但从事件侦听器记录,它似乎停留在初始值。

我想这与scrolling定义副作用时设置有关,但是我怎么能从滚动中触发状态更改呢?我假设的任何窗口事件也是如此。

这是一个代码和框示例:https ://codesandbox.io/s/react-test-zft3e

  const [scrolling, setScrolling] = useState(false);

  useEffect(() => {
    window.addEventListener("scroll", () => {
      console.log(scrolling);
      if (scrolling === false) setScrolling(true);
    });
  }, []);

  return (
    <>
      scrolling: {scrolling}
    </>
  );
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-hooks

6
推荐指数
2
解决办法
2072
查看次数

标签 统计

javascript ×1

react-hooks ×1

reactjs ×1