//状态不要直接修改,比如: // 错的,这样写不会重新渲染组件
this.state.comment = 'Hello'; //修改状态正确的方式
this.setState({comment:'Hello'}); setState方法的参数可以接受一个对象,也可以接受一个回调函数,状态的修改可能是异步的,所以当你修改的状态需要依赖状态本身或者props的值的时候,不要用上面的方式,而是传递一个方法,比如: //假如组件有这样一个状态 this.state = {count:0};
this.setState((prevState,props) =>({count:prevState.count + props.num})) //当setState的参数是回调函数的时候,它接受两个参数,第一个是组件的上一个状态对象,第二个是组件的props对象 //组件可以将状态作为属性传递给子组件
<Demo message={this.state.comment} /> //状态只能定义在construtor构造函数里面
相关文章
- 学习笔记:《Kali Linux 2 网络渗透测试 实践指南 第2版》之kali Linux使用基础
- React学习笔记-2-什么是jsx?如何使用jsx?
- 【Cocos2d-X开发学习笔记】第18期:动作类之改变动作对象、函数回调动作以及过程动作的使用
- 【Cocos2d-X开发学习笔记】第16期:动作类之缓冲动作和组合动作的使用
- 【Cocos2d-X开发学习笔记】第14期:动作类之基本动作的使用(下)
- redis 学习笔记2(集群之哨兵模式的使用)
- SCA学习之2--SCA中使用SPRING笔记
- react学习笔记2之正确使用状态
- Symfony2 学习笔记之模板使用
- Ajax学习笔记2之使用Ajax和XML