当你在点击减号时,你会发现计数发生阶跃性变化,比如初始计数值是0的情况下,在你连续点击加按钮三次时,计数值没有发生任何变化
但是当你点击减号时计数值就会变成2,这个就非常诡异了,效果如下所示
?...(直接更改state的值会出bug)
直接修改this.state的值,虽然改变了组件的内部状态,但是并没有驱动组件进行重新渲染,既然组件没有重新渲染,页面上的UI这个this.state当然不会有任何变化...状态(state)应该是会随着时间产生变化的数据,当更改这个状态(state),需要更新组件的UI,就可以将它定义成state,更多是在实现页面的交互时使用的
另一种程度上讲,在写静态,没有任何交互页面时...React组件扮演的角色应该就是一个纯函数(UI组件),它是没有任何副作用的,由于组件的复用性原则,是不能直接修改props的值的
如果该组件只用于做数据层展示,无需添加生命周期函数等,就可以毫无悬念的使用无状态组件去定义...,我觉得至今我也在摸索..