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?还是当前状态始终是“可信任的”并且是大多数“已更新的”?
setState
是的 ,行为类似。
React正在批处理更新调用。写作时:
const handleClick = () => setCount(count + 1) handleClick() handleClick() handleClick()
的count状态将是1
count
写作时:
const handleClick = () => setCount(prevCount => { return prevCount + 1; }); handleClick() handleClick() handleClick()
的count状态将是3