React.Children は、 this.props.children の囲まれたデータ構造を操作するための便利なツールを提供するトップレベル API の 1 つです。 this.props オブジェクトのプロパティは、コンポーネントのプロパティと 1 対 1 で対応していますが、this.props.children プロパティは例外です。コンポーネントのすべての子ノードを表します。 1. React.Children.mapオブジェクト React.Children.map(オブジェクト children, 関数 fn [, オブジェクト context]) 方向: React.Children.map(this.props.children, 関数(child) { <li>{child} を返します。 }) その他のメソッド this.props.children.forEach(function (child) { <li>{child} を返します。 }) コンテキストを参照する this を使用して、各直接の子 (children パラメータに含まれる) に対して fn 関数を呼び出します。 children がネストされたオブジェクトまたは配列である場合、反復処理されます。コンテナ オブジェクトは fn に渡されません。 children パラメータが null または undefined の場合、空のオブジェクトの代わりに null または undefined が返されます。 <script type="text/jsx"> var NotesList = React.createClass({ レンダリング: 関数() { 戻る ( <オル> { React.Children.map(this.props.children, 関数(child) { <li>{child} を返します。 }) } </ol> ); } }); React.render() で <メモリスト> <span>こんにちは</span> <span>こんにちは</span> </NotesList>, 文書本体 ); </スクリプト> ここで、 次の ReactElement を渡します。 <メモリスト> <span>こんにちは</span> <span>こんにちは</span> </NotesList> // 2 つの子ノードを返します <NotesList></NotesList> //未定義を返す <NotesList> なし</NotesList> //nullを返す 2. React.Children.forEachReact.Children.forEach(オブジェクト children, 関数 fn [, オブジェクト context]) React.Children.map() に似ていますが、オブジェクトを返しません。 3. React.Children.count
子のコンポーネントの合計数を返します。これは、map または forEach に渡されたコールバック関数の呼び出し回数に対応します。 レンダリング: 関数() { console.log(React.Children.count(this.props.children)); //2 戻る ( <オル> { this.props.children.forEach(関数 (child) { <li>{child} を返します。 }) } </ol> ); } さまざまな ReactElements 出力カウント値: <メモリスト> <span>こんにちは</span> <span>こんにちは</span> </NotesList> console.log(React.Children.count(this.props.children)); //2 <ノートリスト></ノートリスト> console.log(React.Children.count(this.props.children)); //0 <NotesList> なし</NotesList> console.log(React.Children.count(this.props.children)); //1 4. 子どものみに反応する
children 内の唯一の子を返します。それ以外の場合は例外をスローします。 ここでの唯一の子である only メソッドは、複数のオブジェクト (配列) ではなく、単一のオブジェクトのみをパラメーターとして受け入れることができます。 コンソールにログ出力します。 //出力オブジェクト this.props.children[0] 以上がReact.Childrenの使い方を詳しく解説した内容です。React.Childrenの使い方についてさらに詳しく知りたい方は、123WORDPRESS.COM内の他の関連記事もぜひご覧ください! 以下もご興味があるかもしれません:
|
<<: vsftpd ユーザーが ssh 経由でログインすることを禁止する方法
>>: Docker に nginx をインストールし、https 経由でアクセスを構成する方法
1. テーブルAのデータを使用してMySQLのテーブルBの内容を更新するたとえば、データ テーブル内...
目次1. autofs サービスの紹介2. Autofsのインストールと展開3. Autofs効果の...
目次1. ソフトウェアパッケージ2. gccをインストールする3. libfastcommonをイン...
序文最近、フロントエンドの知識をまとめており、いくつかのインタビューにも参加しました。インタビュー中...
1. rpm パッケージ経由でインストールされた MySQL サービスmysqldを再起動 /et...
誰もがこんな気持ちになったことがあると思います。30 秒の広告が入った動画を見ると、とても不快に感じ...
目次Express ミドルウェアとは何ですか? Expressミドルウェアを作成するための要件Exp...
導入最近、大きな課題をこなす際に、弾幕プレイヤーを作る必要がありました。他の人のソースコードを借りて...
テキスト非表示コード、HTML 内の特定のテキストを非表示にするコードをコピーコードは次のとおりです...
MySQL のイベント スケジューラ EVENT は、Unix crontab や Windows ...
ローカル データベースがサーバー データベースに接続されているときに発生する 1045 の問題を解決...
Docker の基盤技術: Docker の基盤となる 2 つのコア テクノロジーは、名前空間とコ...
質問コードにはプロンプトがありません: RN 開発に不慣れな、フロントエンド以外の学生の多くは、「ど...
HTML と CSS は誰もが知っていると思います。HTML の構造と CSS の表現の分離も知って...
序文以前、rem適応についての記事を書きましたが、具体的なパッケージは紹介しませんでした。今日は、よ...