深入认识setState

深入认识React类组建修改状态-setState

  • setState,它对状态的改变,可能是异步的;
  • 如果改变状态的代码处于HTML元素事件中,则其是异步的,否则是同步
  • 如果遇到某个事件中,需要同步调用多次,需要使用的函数方式得到最新状态。

最佳实践

  1. 把所有的setState当作是异步的。
  2. 永远不要信任getState调用之后的状态
  3. 如果要使用改变之后的状态,需要使用回调函数(setState的第二个参数)
  4. 如果新的状态要根据之前的状态进行计算,使用函数的方式改变状态(setState 的第一个函数)

React会对异步的setState进行优化,将多次setState进行合并(将多次状态改变完成后,在统一对state进行改变,然后触发render)

posted @ 2023-03-09 11:13  HuangBingQuan  阅读(36)  评论(0编辑  收藏  举报