关于props 和state

react中props & state

关于props和state以我目前了解下来的情况,大概整理了下两者的区别和共同之处:

相同点

  1. 都可以在组件内部设置默认值
  2. 都会触发render更新

不同点

  1. props可以从父组件获取初始值而state不可以
  2. props可以由父组件修改,state不可以
  3. props不可以在组件内部修改,state可以(其实内部也可以修改,只是不推荐这种做法)

简单总结下:组件在运行时需要修改的数据就是state。

关于初始值:

  props有 getDefaultProps方法可以设置初始值。这个方法会返回一个js对象,内部就是这个组件的props。

  如下:

  

var Test = React.createClass({
  getDefaultProps : function(){
    return {
   test : "default prop value"
    }
  },
  render : function(){
    return <p>
      {this.props.test}
    </p>
  }
}); 

  至于state则有getInitialState和setState分别来初始化和修改state。

this.setState({name : "test name"})

 

  

posted @ 2015-06-20 22:19  cliffBear  阅读(399)  评论(0编辑  收藏  举报