在以上代码中,通过给button按钮监听绑定onClick属性挂载点击事件处理函数(上面是handleBtnClick),来达到控制组件state中的isShow这个状态,从而让文本显示还是隐藏
显示和隐藏是通过添加...state,但是想要改变state的状态,并不是直接通过this.state进行更改,而是通过React内置提供的一个setState方法进行触发的
为了解释不能直接更改this.state,我们来看另一个加减数字的例子...传递一个函数可以让你在函数内访问到当前的state的值,因为setState的调用是异步的,this.state.以及this.props不会立即更新,它会被放置到一个队列中延迟合并处理
只有当state...,你传递一个函数给setState就可以了,并给该函数传递两个形参(state,prop),然后通过当中的形参来更新state就可以避免诡异的bug了
?...:
让组件尽可能的少状态
如果该组件只是用于UI渲染,数组展示,并无复杂的页面逻辑交互,那么应该让组件的数据定义成props,通过外部组件传入,而并非将数据设置到状态当中去
那么究竟什么样的数据属性可以视为状态