同様のJS要素にアレイ、およびマップ方式で反応では、クラスの要素の配列を返します
1.複数のコンポーネントをレンダリング
{}要素JSXのコレクションを構築するために使われる可能性
CONST数= [1、2、3、4、5、6 ]。 CONST listItemの = number.map((アイテム)=> { リターン <LI> {アイテム} </ LI> }) ReactDOM.render( <UL> {listItemの} </ UL>、のdocument.getElementById( 'ルート'))
2.基本コンポーネントリスト
通常は、構成要素である、今以上の建物の外に引き出すことができるコンポーネントのリストをレンダリングするのではなく、要素のセットを構築する必要があります。
// 列表&&キー、渲染为组件去使用 CONST数= [1、2、3、4、5、6 ]。 関数NumberList(小道具){ CONST listItemの = props.numbers.map((アイテム)=> <LI> {アイテム} </ LI> ) リターン( <UL> {listItemの} </ UL> ) } ReactDOM.render( < NumberList番号= {数} />、のdocument.getElementById( 'ルート'))
この時点では何もキー操作が警告を報告しませんが、あなたが(アイデンティティ・サイクルのためのキーとしてヴューで)キーを追加する必要があり、以下のキーを紹介します
CONST listItemの= props.numbers.map((項目、指数)=> <LIキー= {索引}> {アイテム} </ LI> )
キーに関しては3
(追加/削除)を変更するものの要素識別するのに役立つ1.key反応し、配列内のすべての要素にキーを追加する必要があります。
識別要素が不可欠でユニークであるように他の時間がない場合、我々は通常、識別するためのIDを使用し2.keyを識別することができ、またインデックスを使用することはできますが、この時は注意することは、
変更されることがあり項目のリストの順序は、パフォーマンスの低下につながるそうするため、キー値としてインデックスを使用することをお勧めされていない場合、それはまた、状態アセンブリに問題が発生することがあります。
3.なしグローバルに一意のキーを反応させ、唯一のキーの兄弟はにユニークである識別する必要があります。
4.keyのみが渡されている情報のキーのサブコンポーネントは、親コンポーネントが必要な場合、あなたは他のプロパティ名を使用する必要があり、サブアセンブリに転送することに反応して通過し、そしてません。
図5は、JSXでマップを()入れ子にすることができるが、このスタイルを乱用しない、原因コードは明らかではありません。あまりにもネストされたマップは、()、抽出アセンブリ検討する必要がある場合
関数NumberList(小道具){ CONST番号 =のprops.numbers。 リターン( <UL> {numbers.map((番号) => <リストアイテムキー= {にNumber.toString()} の値 = {数} /> )} </ UL> )。 }