小编典典

在React Hooks中我们还需要函数setState方式吗?

reactjs

  const [count, setCount] = useState(0);

  const handleClick = () =>
    setCount(prevCount => {
      return prevCount + 1;
    });



  const [count, setCount] = useState(0);

  const handleClick = () => setCount(count + 1);

来自基于类的组件背景,这成为我们使用function的习惯setState。我想知道我们是否仍然需要在函数挂钩中依赖prevState?还是当前状态始终是“可信任的”并且是大多数“已更新的”?


阅读 517

收藏
2020-07-22

共1个答案

小编典典

是的 ,行为类似。

React正在批处理更新调用。写作时:

const handleClick = () => setCount(count + 1)
handleClick()
handleClick()
handleClick()

count状态将是1

写作时:

const handleClick = () =>
  setCount(prevCount => {
    return prevCount + 1;
});
handleClick()
handleClick()
handleClick()

count状态将是3

2020-07-22