Propsとコンポジション
Propsの受け渡し、分割代入によるデフォルト値、継承との比較、children/スロットパターン、シンプルなプレゼンテーションコンポーネントを扱います。
「Propsとコンポジション」はCoddyKit上の無料React Academyレッスンです。 これはレッスン2/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはReact Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 React Academyコースには全3レッスンが含まれています。
概要
目標: props でデータを渡し、デフォルト値を設定し、小さなコンポーネントをコンポジションして UI を構築します。
- props でコンポーネントにデータを渡します。
- 単純な分割代入でデフォルト値を設定します。
- コンポジションと children スロットを使います。
props の受け渡し
Props は読み取り専用の入力です。親が子をレンダリングして値を渡し、子はパラメーターから値を読み取ります。
- props を変更してはいけません。
- 親の state や props が変わると再レンダリングが発生します。
デフォルト props(基本)
パラメーターリストで分割代入を使うと、props にデフォルト値を設定できます: function Card({ title = "Untitled" })。
- コンポーネントの堅牢性が保たれます。
- マークアップ内で undefined を確認する必要がなくなります。
継承ではなくコンポジション
コンポジションとは、小さな要素(children やスロット)から大きな UI を構築することです。柔軟性と明確なデータフローを保つため、継承よりもコンポジションを優先します。
デモ: props と children
例: props を渡し、デフォルト値を設定し、シンプルなカードレイアウト内で children をコンポジションします。
<div id="root"></div>
再利用可能なプレゼンテーション
プレゼンテーションコンポーネントはレイアウトと見た目に焦点を当てます。再利用しやすいよう、可能な限り props によって動作し、state を持たない設計にします。
- 小さな API(props のみ)にします。
- クラスでスタイルを適用し、隠れた副作用を避けます。
コンポジションと継承
まとめ
まとめ: props でデータを渡し、安全なデフォルト値を設定し、children をコンポジションして柔軟で再利用可能な UI を構築します。継承ベースの階層構造は避けます。
よくある質問
「Propsとコンポジション」レッスンは無料ですか?
はい。「Propsとコンポジション」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、React Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 React Academyコースには全3レッスンが含まれています。
「Propsとコンポジション」で何を学びますか?
Propsの受け渡し、分割代入によるデフォルト値、継承との比較、children/スロットパターン、シンプルなプレゼンテーションコンポーネントを扱います。 ブラウザで直接実行するハンズオンコードでReact Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
React Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのReact Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/3です。
「Propsとコンポジション」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このReact Academyレッスンでコードを書いて実行できますか?
はい。すべてのReact Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Propsの受け渡しとコンポジションパターン
- Propsとコンポジション
- 再利用可能なプレゼンテーションコンポーネント