,对于在React中的JSX绑定的事件处理函数中调用setState方法是异步的就可以了
如果你需要基于当前的state来计算出新的值,那么setState函数就应该传递一个函数,而不是一个对象,它可以确保每次调用的都是使用最新的...函数应该传递一个函数而不是对象,这样可以保证每次调用的状态值都是最新的
至于为什么React不选择同步更新this.state
这是因为React是有意这么设计的,做异步等待,在constructor构造器函数执行完后...,在执行render函数,直到所有组件的事件处理函数内调用setState函数完成之后,避免不必要的重新渲染来提升性能
你可以能会想,React不能对this.state进行立马更新,而不对组件进行重新渲染呢...如果是,那么它就不是state
通过state或者props可以计算出的数据:比如一个数组的长度等,那么它就不是state
它是否随着时间的变化而保持不变?...,只有输入和输出,无状态,无生命周期钩子函数,只是用作于接收父组件传来的props值渲染生成DOM结构,无交互,无逻辑层的数据展示
无状态(函数式)组件,在性能上是最高效的,开销很低,因为没有那些生命周期函数嘛