[解決済み] this.props.children}とは何ですか、またどのような場合に使用するのですか?
質問
Reactの世界では初心者の私ですが、このような場合に何が起こるのかを深く理解したいのです。
{this.props.children}
また、どのような場合に使用するのでしょうか。以下のコードスニペットにおける関連性は何ですか?
render() {
if (this.props.appLoaded) {
return (
<div>
<Header
appName={this.props.appName}
currentUser={this.props.currentUser}
/>
{this.props.children}
</div>
);
}
}
解決方法は?
<ブロッククオートチルドレンとは何ですか?
Reactのドキュメントでは
props.children
は、「一般的なボックス」を表すコンポーネントで、事前に子コンポーネントを知らない場合に使用されます。私にとっては、これだけではよくわかりませんでした。その定義を完全に理解できる人もいるでしょうが、私にはそうではありませんでした。
私の簡単な説明では
this.props.children
は、次のようになります。
は、コンポーネントを呼び出すときに、開始タグと終了タグの間に記述したものを表示するために使用されます。
簡単な例です。
以下は、コンポーネントを作成するために使用されるステートレス関数の例です。繰り返しになりますが、これは関数なので
this
キーワードを使用します。
props.children
const Picture = (props) => {
return (
<div>
<img src={props.src}/>
{props.children}
</div>
)
}
このコンポーネントには
<img>
を受信している。props
を表示し、その後に{props.children}
.このコンポーネントが起動されるたびに
{props.children}
も表示されます。これは、コンポーネントの開始タグと終了タグの間にあるものを参照するだけです。
//App.js
render () {
return (
<div className='container'>
<Picture key={picture.id} src={picture.src}>
//what is placed here is passed as props.children
</Picture>
</div>
)
}
自己完結型のタグでコンポーネントを呼び出すのではなく
<Picture />
を呼び出すと、完全な開始タグと終了タグが表示されます。<Picture> </Picture>
その間にさらにコードを配置することができます。これは
<Picture>
コンポーネントをそのコンテンツから分離し、より再利用しやすくしています。
参考にしてください。 Reactのprops.childrenについて簡単に紹介します。
関連
-
[解決済み】GETできない / Nodejsエラー
-
[解決済み】ExpressJS : res.redirect()が期待通りに動かない?
-
[解決済み] Access-Control-Allow-Originヘッダーはどのように機能するのですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] JavaScriptで二重引用符と単一引用符はいつ使うべきですか?
-
[解決済み] varキーワードの目的と、どのような場合に使用する(または省略する)べきですか?
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] Reactコンポーネントに条件付きで属性を追加するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JSクロスドメインソリューション リアクト構成 リバースプロキシ
-
Vueの一般的な組み込みディレクティブの説明
-
[解決済み】TypeError: Router.use() はミドルウェアの関数を要求しているが、Object を取得した。
-
[解決済み】Node.js Error: Cannot find module express
-
[解決済み】TypeErrorの解決方法。未定義またはヌルをオブジェクトに変換できない
-
[解決済み】React - TypeError: 未定義のプロパティ 'props' を読み取ることができない。
-
[解決済み】 `string.split is not a function` というエラーの原因は何ですか?
-
[解決済み】<select>で現在選択されている<option>をJavaScriptで取得するにはどうすればよいですか?
-
[解決済み】「.addEventListener is not a function」なぜこのエラーが発生するのか?
-
Uncaught TypeError: null のプロパティ 'offsetHeight' を読み取れませんでした。