ロイの奮闘記録

PdMをやってるロイの日記です。人のつながりを増やしたいと思いながら、社会と奮闘しています

React 公式ドキュメント

React ドキュメント 4_12

3.要素のレンダー

要素をDOMとして描画しており、要素のみが動いている

イミュータブル:作成後にその要素を変更出来ない

 

4.コンポーネントとprops

propsとは、コンポーネントに渡すデータ

 

コンポーネントの中に、コンポーネントを作成することも可能

 

コンポーネントはより小さな単位で扱うべき

 

(関数目線で)自分自身のpropsは変更してはいけない

 

5.stateとライフサイクル

 

stateはpropsに似ているが、コンポーネントによって管理されるプライベートなもの

 

マウント:DOMが描画されること

アンマウント:DOMが削除されること

 

stateは直接変更不可 

 

コンストラクタ以外は

this.setState({comment: 'Hello'})

 

stateとpropsの同時更新は、引数を活用した使い方で

 

stateはローカルなもの

 

いかなるstateも必ずコンポーネントが所有。stateから生ずる全てのデータまたはUIは、ツリーの下のコンポーネントに作用

 

6.イベント処理

onClickなどのメソッド使うとき、

クラスのメソッドでは、thisを使いバインドして、アロー関数を使おう

イベントハンドラとは、処理と行動のつなぎ役

onClick="処理1"

 

7.条件付きレンダー

 

8.リストとkey

 

9.フォーム

制御されたコンポーネント=Reactによって値が制御される入力フォーム要素

 

<textarea value{"〜〜〜"}>と表記

 

<select>は、初期値をstateに入れておく必要がある

 

10.stateのリフトアップ

複数のコンポーネントにまたがった共通stateを、一個レイヤー上げたコンポーネントで対応しよう

 

 

12.Reactの流儀

まずコンポーネントを分ける

静的なバージョンを作る。

└ユーザー操作を受け付けない画面

└stateは使わない

 

stateかpropsか

└使用する全データを把握

└以下参照

  1. 親から props を通じて与えられたデータでしょうか? もしそうなら、それは state ではありません
  2. 時間経過で変化しないままでいるデータでしょうか? もしそうなら、それは state ではありません
  3. コンポーネント内にある他の props や state を使って算出可能なデータでしょうか? もしそうなら、それは state ではありません

props :(関数引数のように)コンポーネント渡される

state :(関数内で宣言された変数のように)コンポーネントの内部で制御される

 

 

stateをどこに配置するか

└stateを使用する全てのコンポーネントを把握

└上位コンポーネント・共通の親コンポーネントで設定

└下位コンポーネントに、propsとして送る