【发布时间】:2020-10-19 05:16:54
【问题描述】:
您好,有一个需要呈现为一组按钮的项目列表,我只想知道哪个是好的和最简单的解决方案。
第一个选项只是将密钥用作项目密钥
const sampleoutput =[];
for (const [key, value] of Object.entries(sampleItem)) {
sampleoutput.push(<li>
<a key={key}
href="#!"
onClick={value.onClick}
>
{value.title}
</a>
</li>);
}
第二种解决方案是使用react-uuid
import uuid from "react-uuid";
sampleItem.map((value) => {
return (<li>
<a key={uuid()}
href="#!"
onClick={value.onClick}
>
{value.title}
</a>
</li>);
})
我还想考虑性能,第二个选项有另一组流程来生成密钥。我有点担心第一个选项,即使它因为这篇文章而简单得多https://medium.com/@robinpokorny/index-as-a-key-is-an-anti-pattern-e0349aece318
提前感谢您的建议。
【问题讨论】:
-
您可以在 sampleItem 对象中添加 id 属性并在 key 中使用此 id .
标签: javascript reactjs react-native for-loop foreach