Reactでコードを書いている中で、情報の管理をするPropsとStateをよく使っていますが、それ以外にstoreもあると知り調べてみました。
PropsとState
ReactのコンポーネントではPropsとStateと呼ばれる値でUIの状態や情報を管理しています。
Props
コンポーネント利用時に属性として設定できる値
state
コンポーネントが持っている状態
stateはclass componentだとsetStateでデータを更新することができる。注意しなければいけないのは、Stateの値を更新するとコンポーネントのrender()メソッドが実行され再描画でされます。
(stateはcomponentだけが持つ値。)
他のcomponentに値をわたす必要がない、そのcomponentだけで利用する値に関してはstateを使って値の管理をする。
store
storeはreduxが管理してる値です。アプリケーションの状態(state)を保持します。
使い分け
app全体で管理したい値はstore管理、コンポーネント毎に管理したい値はprops or stateで管理する。
stateの値を呼び出したcomponentに渡して、その値をまた別のcomponentに渡してを続けること(バケツリレー)が不毛だからstoreが生まれて、バケツリレーしなくても値を取得できるようになりました。