![](/img/trans.png)
[英]How to pass state value to a callback function using React Hooks
[英]Using callback function instead of state when changing state's value in react
为什么我们在将状态设置为新值时需要使用回调函数而不是状态值?
如果您依赖先前的状态,则应使用回调函数,例如: setState(prevState => prevState + 5)
您必须这样做,因为 React 可能会将多个 setState() 调用批处理到单个更新中以提高性能。 这意味着您直接从 state 中获取的值可能尚未更新,因此您将遇到错误。 但是您在 setState 回调中作为参数获得的状态值始终是正确的。 在反应文档中对此进行了很好的描述: https ://reactjs.org/docs/state-and-lifecycle.html#state-updates-may-be-asynchronous
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.