React奮闘記⑧

2020/10/08

進めてる(進めていく)教材とか

今日やったこと

  • React 公式チュートリアル

React 公式チュートリアル

  • なにはなくともcreate-react-app
  • createElement()は使わずにJSXが基本

    • JSXを使えば独自コンポーネントと組み合わせが可能
  • コンポーネント内の状態(state)はコンストラクタで初期化してstateで表示,setStateで上書きする
  • 複数の子要素からデータを集めたり 2 つの子コンポーネントに互いにやりとりさせたいと思った場合は、代わりに親コンポーネント内で共有の state を宣言する

    • 子コンポーネントは自身で状態を持たないようにして,イベントを親に伝える
    • 親の方で状態を持ち子コンポーネントからイベントを伝えられたらそこで状態を更新する
    • このときの子コンポーネントは制御されたコンポーネント(controlled component)と呼ぶ
  • イミュータビリティ(immutability) → 不変性
  • イミュータブルだと何が嬉しいのか

    • 複雑な機能が簡単に実装できる
    • 変更の検出
    • Reactmの再レンダーのタイミングの決定
  • 関数コンポーネント

    • stateを持たないコンポーネントを簡単に書ける
    • クラスコンポーネントとの使い分けはstateを持ってるかどうかでいいのかな。。。?
  • stateのリフトアップ

    • 子コンポーネントの状態(state)を親コンポーネントで管理する
    • Reactではよくあるリファクタリング
    • 親が状態を持つから子のレンダリングを
  • 兄弟要素のアイテムを区別するためにKeyプロパティを与える
  • 動的なリストを構築する場合は正しいKeyを割り当てるようにする
  • Keyが指定されていない場合は配列のインデックスがデフォルトで使用される

    • この場合,並び替えたり削除したり挿入したらいする際に問題になる可能性がある
    • 配列のインデックスをKeyにするのはやめたほうがいい
  • Keyはコンポーネントとその兄弟間で一意であればOK

まとめ

さすが公式チュートリアルという感じで基本的なpropsとstateの取り扱いを手を動かして学べました。
順序だてて,すこしずつリファクタリングしていくのでわかりやすかったです。
すこしずつReactわかってきた気がしますw
Reduxに背伸びする前に基礎をしっかり身につけてからだなと思いました。

それではまた明日。


書いた人: こへ
音楽と漫画と読書とアニメとスノボが好き。多趣味でいろんなことに興味有ります。 誰しもが一度は使った事があるもののIoT開発をしてます。
Twitterフォローお願いします。