【问题标题】:i am getting error Each child in a list should have a unique "key" prop我收到错误列表中的每个孩子都应该有一个唯一的“关键”道具
【发布时间】:2021-04-29 19:18:41
【问题描述】:

我正在使用反应,当我尝试在其中使用映射函数时,我在映射返回函数中有多个组件。所以为了包含我使用了虚拟父元素并开始显示错误**列表中的每个子元素都应该有一个独特的“关键”道具**。我不知道如何在虚拟父级中包含关键。你能帮我吗。

                           {
                             dataArray.map((item,key)=>{
                                return(
                                     <>

                                    <td key={key}>{item.country}</td>
                                     <td key={key}>{item.city}</td>
                                    </> 
                                )})
                            }



通过添加虚拟父级,我得到了该错误唯一键。有什么方法可以删除唯一键错误,将两个 td 保留在 return 语句中

【问题讨论】:

  • 有趣的问题。尝试使用一位家长

标签: javascript reactjs react-redux react-hooks


【解决方案1】:

将密钥添加到片段,而不是个人&lt;td&gt;s:

{
  dataArray.map((item, key) => {
    return (
      <React.Fragment key={key}>
        <td>{item.country}</td>
        <td>{item.city}</td>
      </React.Fragment>
    );
  })
}

【讨论】:

  • 补充一点,来自文档:“您可以像使用任何其他元素一样使用 >,但它不支持键或属性。” reactjs.org/docs/fragments.html所以必须定义为React.Fragment,不能使用&lt;&gt;&lt;/&gt;语法添加key
  • 如果外面有选择并且里面有多个选项和子菜单怎么办。然后使用 React.Farment 会出错。
猜你喜欢
  • 2019-12-11
  • 2020-08-10
  • 2021-09-03
  • 1970-01-01
  • 2019-08-21
  • 2021-09-23
  • 2023-03-21
  • 1970-01-01
  • 2021-11-17
相关资源
最近更新 更多