PropsとStateについて

ここの理解がかなり怪しかったので自分なりにまとめます。

Props


コンポーネント利用時に属性として設定できる値で、一度定義したらその値を変更することはできない。 例えば


<MyComponent PropsName = "value1">

として描画において設定したPropsはMyComponent内のメソッドで



<View> Props : {this.props.PropsName} </View>

このような方法で呼び出すことができる。 型の指定もできる。この型にそぐわない場合、Warningを吐くそう。


MyComponent.propTypes = { myPropsName1: React.PropTypes.string , myPropsName2: React.PropTypes.number };

State


こちらはPropsとは異なり、後から値の書き換えが可能。 書き方はPropsの場合と似ていて、設定した後の呼び出しは



<View> State1 : {this.state.myState1} </View>

などの形で呼び出すことができる。 ReactはStateが変更された時点で再描画を行う仕組みになっているので変更を必要としない要素についてはできるだけPropsで処理するのが良いとされている。