网站搜索

javascript - React Js 警告:列表中的每个子元素都应该有一个唯一的“key”属性


答案#1

问题是你在一个不是循环根元素(即会被重复的那个元素)上设置了 key。

所以你需要把钥匙像这样放在 <> 上:

{todos.map( todo => {
    return {
      < key={todo.todo_id}>
       .......

我会把它改成一个 div,但这是我的意见:

{todos.map( todo => {
    return {
      <div key={todo.todo_id}>
       .......

答案#2

你地图中的每个元素都应该有一个唯一的 key... 简单来说,你的元素 <>....</> 没有 key 属性.... 你可以使用 React Fragment,例如 <React.Fragment key={todo.todo_id}/>...</React.Fragment> 这样每个元素(React.Fragment)都有一个唯一的 key(确保 todo_id 是唯一的 key)。当然你也可以使用 div,但是如果你不想渲染 div,就使用 React.Fragment。