stateとpropsの違い、stateをどこに配置するかの決め方
reactのコンポーネントは基本的にオブジェクトという考え方です。 ※コンポーネント名は常に大文字で始めること。 stateとpropsの違いは、 stateは完全にコンポーネントによって管理されたプライベートなものです。 propsは、コンポーネントに渡す引数です。 コンポーネントのライフサイクル: ・マウント (mounting) ・アンマウント (unmounting) マウント (mounting)とは DOM として描画されるときです。 アンマウント (unmounting)とは、 DOM が削除されるときです。 アロー関数とは、 通常関数との違いは、 stateの特徴: ①state の更新は非同期に行われる可能性がある stateを直接変更しないこと、stateを直編集できるのは、コンストラクタ内に限定する。 ②state の更新はマージされる ③データは下方向に伝わる(トップダウン/単一方向とも呼ばれる) setStateを使う際に、prevStateとは ■stateを決める 1.親からpropsを通じて与えられたデータでしょうか?もしそうなら、 それはstateではありません。 2.時間経過で変化しないままでいるデータでしょうか?もしそうなら、 それはstateではありません。 3.コンポーネント内に他のpropsやstateを使って算出可能なデータでしょうか?もしそうなら、 それはstateではありません。 ■stateをどのコンポーネントに配置するかを決める手順 1.その state を使って表示を行う、すべてのコンポーネントを確認する 2.共通の親コンポーネントを見つける(その階層構造の中で、ある state を必要としているすべてのコンポーネントの上位にある単一のコンポーネントのことです) 3.共通の親コンポーネントか、その階層構造でさらに上位の別のコンポーネントが state を持っているべきである 4.もし state を持つにふさわしいコンポーネントを見つけられなかった場合は、state を保持するためだけの新しいコンポーネントを作り、階層構造の中ですでに見つけておいた共通の親コンポーネントの上に配置する