如果是React控制的事件处理程序以及在它的钩子(生命周期)函数内调用setState,它不会同步的更新state
也就是说:React控制之外的事件调用setState是同步更新的,例如原生js绑定的事件...,对于在React中的JSX绑定的事件处理函数中调用setState方法是异步的就可以了
如果你需要基于当前的state来计算出新的值,那么setState函数就应该传递一个函数,而不是一个对象,它可以确保每次调用的都是使用最新的...和props数据发生改变时,render函数才会重新渲染
所以你是可以链式的进行更新,并确保它们是建立在另一个之上的,这样不会发生冲突
这也正是setState函数传递一个函数的原因,绝大多数时候,最优的方式是...至于为什么React不选择同步更新this.state
这是因为React是有意这么设计的,做异步等待,在constructor构造器函数执行完后,在执行render函数,直到所有组件的事件处理函数内调用...,不应该用state定义当前组件的状态用来填充页面
而应该能用外部世界(组件)传来的数据,就用外部组件传来的props进行数据的填充
下面的这些就不是状态(state),不应该定义成state,如何判定该用