,却是js
这里用的是箭头函数,如果不用此方法,一定要记得用bind进行this坏境的绑定
在代码中,通过this.state可以读取当前组件状态的state,但是想要改变state的状态,并不是直接通过...(直接更改state的值会出bug)
直接修改this.state的值,虽然改变了组件的内部状态,但是并没有驱动组件进行重新渲染,既然组件没有重新渲染,页面上的UI这个this.state当然不会有任何变化...setState方法,此时,state的值将是同步更新的
如果要追究setState内部执行过程,其实它是很复杂的,包括了更新state,以及各个生命周期函数,以后有时间单独在详聊的
在这里,你只需要只知道...DOM节点的更新,如果前后JSX元素不相等,那么React才会更新DOM
如果props或者state能被直接被修改,将会破坏组件复用的原则,会出现一些莫名其妙的bug
如何划分组件的状态数据
无论是props...React组件扮演的角色应该就是一个纯函数(UI组件),它是没有任何副作用的,由于组件的复用性原则,是不能直接修改props的值的
如果该组件只用于做数据层展示,无需添加生命周期函数等,就可以毫无悬念的使用无状态组件去定义