//状态不要直接修改,比如: // 错的,这样写不会重新渲染组件
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构造函数里面
相关文章
- 【Cocos2d-X开发学习笔记】第18期:动作类之改变动作对象、函数回调动作以及过程动作的使用
- 【Cocos2d-X开发学习笔记】第16期:动作类之缓冲动作和组合动作的使用
- 【Cocos2d-X开发学习笔记】第14期:动作类之基本动作的使用(下)
- redis 学习笔记2(集群之哨兵模式的使用)
- SCA学习之2--SCA中使用SPRING笔记
- react学习笔记2之正确使用状态
- Symfony2 学习笔记之模板使用
- Ajax学习笔记2之使用Ajax和XML
- struts2学习笔记之十四:使用注解配置Action(不是和spring集成使用)
- 【Cocos2d-X开发学习笔记】第15期:动作类之摄像机动作和基本样条动作的使用