Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React.js:每个子组件中的键值应该是唯一的?_Javascript_Reactjs - Fatal编程技术网

Javascript React.js:每个子组件中的键值应该是唯一的?

Javascript React.js:每个子组件中的键值应该是唯一的?,javascript,reactjs,Javascript,Reactjs,我使用React来呈现数据列表,但数据中的每个项都没有被分配id或uuid或类似identificate属性的内容。我可以使用项目索引作为键吗?比如: data.map((item, index) => { <Item key={index}></Item> }) data.map((项目、索引)=>{ }) 我所关心的是,如果页面上的其他列表也使用order索引作为子组件键,这有关系吗?键应该是唯一标识吗?如果不想在列表中移动元素,可以这样做。每次移动

我使用React来呈现数据列表,但数据中的每个项都没有被分配id或uuid或类似identificate属性的内容。我可以使用项目索引作为键吗?比如:

data.map((item, index) => {
    <Item key={index}></Item>
})
data.map((项目、索引)=>{
})

我所关心的是,如果页面上的其他列表也使用order索引作为子组件键,这有关系吗?键应该是唯一标识吗?

如果不想在列表中移动元素,可以这样做。每次移动元素时,它们都有不同的索引,因此react无法跟踪移动了哪些元素以及哪些元素刚刚更改了它们的数据


索引在其列表中必须是唯一的,它们可能与其他列表相交。

该键只需对该列表是唯一的

起初我也有这种担心

从官方文件:

请记住,密钥只需在其同级中是唯一的,而不是唯一的 全球独一无二

密钥应该是稳定的、可预测的和唯一的。不稳定键(如 由Math.random()生成的节点将导致许多节点 不必要地重新创建,这可能会导致性能下降和 子组件中的状态丢失

请在此处阅读更多信息: