繁体   English   中英

在反应中更改状态值时使用回调函数而不是状态

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM