なぜ鍵を使うのですか?
なぜkeyを使うのですか?
レポートで
key
が使用されるのは、フローデータの処理中に一部の要素が変更(作成、削除、変更)されたためです.keyはエレメントのkey値を検索し、一致するエレメントのみをすばやく検索し、変更を許可します.
key
がなければ、key
がある場合よりも時間がかかる要素を順次比較することによって変化を感知することができる.また、
key
がなければ、アレイ内部で特定の要素のデータを検索して変更すること自体が不可能であるか、非常に困難である.このような過程を画期的に減らす役割を果たした.
キーの設定
keyを設定すると、propsを設定するように、構成部品要素の内部に作成されます.
htmlでidを設定すると一意値をidに設定し、reactでキー値を設定すると一意値も設定します.
<div className="List">
{props.map(list => {
return(
<Card
key={list.id}
name={list.name}
userName={list.username} />
)
})}
</div>
[data]
[
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
},
{
"id": 2,
"name": "Ndak Howell",
"username": "Make",
}
]
前述したように、mapリピート素子を使用する場合は、key값
に一意の値を設定する必要があります.したがって、props
を介してデータを受信する場合、データにid값
がある場合、id
を呼び出すことが望ましい.ただし、
props
にid値がない場合、map
関数に渡されるコールバック関数のindex
が使用される.鍵が設定されていない場合
Warning: Each child in a list should have a unique "key" prop.
開発者ツールでこのようなエラーメッセージが表示された場合、キー値が指定されていないため、エラーの部分を検索することでキー値を設定できる可能性があります.)Reference
この問題について(なぜ鍵を使うのですか?), 我々は、より多くの情報をここで見つけました https://velog.io/@sad_wf/Key는-왜-사용하는가テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol