要約
Reactのchildren
はprops
が保持しているプロパティです。親コンポーネントのタグに入れられた要素を参照します。
Reactナニモワカラナイ
いままでVueとVanila JSしか触ってこなかったので、現在TypeScriptとReactのキャッチアップをしているのですが、まずはTypeScriptに時間を割いているためReactはちょっと後回し気味です(のわりにDenoやってるやんけワレ)。一応チュートリアルくらいはやっています。
いやでもReact と TSが目につくようにこのブログはNext.js + TypeScriptで作成しているのですが、カスタマイズにあたってReactの初歩的な知識でつまづいたのでまとめます。
Reactのchildren
対象バージョン
- React v18.0
意味
Reactのchildren
はprops
が保持しているプロパティです。親コンポーネントのタグに入れられた要素を参照します。
例えばこのブログでは共通レイアウトをLayout
コンポーネントで定義しています。
Layout
コンポーネントは各所で使用されており、一例としてブログのトップページを示すpages/index.tsx
では次のように呼び出されています。
この時、<Layout>
~ </Layout>
の間の部分がchildren
となります。
Layout
コンポーネントでは最終的に次のような内容が描画されます。
childrenの型
先のサンプルコードの通り、children
の型はReact.ReactNode
です。
どうもv18から仕様が変わったようで、明示的に型を指定していない状態でprops.children
を使用すると、エラーになるようになったそうです。
参考:https://reactjs.org/blog/2022/03/08/react-18-upgrade-guide.html#updates-to-typescript-definitions
おわり