,想要使组件具备交互的能力,那么需要有触发该组件基础数据模型改变的能力,那么此时就需要使用state
一旦组件的状态(数据)发生更改,组件就会自动的调用render函数重新渲染UI,更改这个state状态是通过...,却是js
这里用的是箭头函数,如果不用此方法,一定要记得用bind进行this坏境的绑定
在代码中,通过this.state可以读取当前组件状态的state,但是想要改变state的状态,并不是直接通过...如果是React控制的事件处理程序以及在它的钩子(生命周期)函数内调用setState,它不会同步的更新state
也就是说:React控制之外的事件调用setState是同步更新的,例如原生js绑定的事件...函数应该传递一个函数而不是对象,这样可以保证每次调用的状态值都是最新的
至于为什么React不选择同步更新this.state
这是因为React是有意这么设计的,做异步等待,在constructor构造器函数执行完后...,它是当前组件的一个私有变量.用于记录组件内部状态的,如果组件中的一些数据在某些时刻发生变化,或者做一些页面逻辑交互时,需要更新UI,这个时候就需要使用state来跟踪状态(例如控制一元素的显示隐藏来回切换等状态