,你可以把组件看成一个'状态机",它是能够随着时间变化的数据,更多的是应当在实现交互时使用,根据状态state的改变呈现不同的UI展示
在React中,因为不能直接修改外部组件传入的prop值
当需要记录组件自身数据变化时...(直接更改state的值会出bug)
直接修改this.state的值,虽然改变了组件的内部状态,但是并没有驱动组件进行重新渲染,既然组件没有重新渲染,页面上的UI这个this.state当然不会有任何变化...state,并且重新调用render方法,最终实现当前组件内部state的更新,从而最新的内容也会渲染到页面上
作用:修改组件的内部state的状态,往往用于更新用户界面以响应事件处理器和处理服务器数据的主要方式...函数应该传递一个函数而不是对象,这样可以保证每次调用的状态值都是最新的
至于为什么React不选择同步更新this.state
这是因为React是有意这么设计的,做异步等待,在constructor构造器函数执行完后...,只有输入和输出,无状态,无生命周期钩子函数,只是用作于接收父组件传来的props值渲染生成DOM结构,无交互,无逻辑层的数据展示
无状态(函数式)组件,在性能上是最高效的,开销很低,因为没有那些生命周期函数嘛