幕布斯6054654
2021-04-06 15:11:23
渲染列表時,我可以使用鍵找到的所有信息都突出顯示,例如:<ul> {array.map((item, index) => <li key={index}>{item}</li>)}</ul>除了列表以外,還有其他情況對提供密鑰有幫助嗎?僅為頁面上的每個非靜態元素提供密鑰是否有弊端?
2 回答

繁花不似錦
TA貢獻1851條經驗 獲得超4個贊
一鍵被推薦的名單中的反應,因為反應使用這種識別被添加,更改或刪除的項目。
Keys
按鍵可幫助React識別哪些項目已更改,添加或刪除。應該為數組內的元素提供鍵,以賦予元素穩定的身份。
一個帶有功能組件的示例:
function MyListComponent (props) {
const list = props.list;
const items= list.map((item) =>
<li key={item.toString()}>
{item}
</li>
);
return (
<ul>{items}</ul>
);
}
const array = [1, 2, 3, 4, 5];
ReactDOM.render(
<MyListComponent list={array} />,
document.getElementById('root')
);
唯一的規則是,它在其兄弟姐妹之間必須是唯一的。
如果您不使用鑰匙-如果您不使用鑰匙,則會收到警告。
一個id(在列表中的每個項目的標識符)是最適合這個目的-如果你沒有任何標識,你可以用,一個索引列表中的每個項目都可以使用,但它的不推薦,因為這可能會導致問題如果物品的順序改變了。
添加回答
舉報
0/150
提交
取消