一覧&&キー:学習を反応させます

同様の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>
  )。
}

 

おすすめ

転載: www.cnblogs.com/liyaping/p/11586462.html