javascript - 警告:每个孩子都应该有一个唯一的键 - 在 ReactJS 中传递数组
问题描述
我在 Scrimba 上练习 ReactJS tuts,你必须在数组中传递 id 道具
import React from 'react';
import Joke from './components/Joke.js'
import jokesData from './components/jokesData';
function App() {
const jokeComponents = jokesData.map(function(joke) {
return (
<Joke
obj={{key: joke.id, question: joke.question, punchline: joke.punchLine}}
/>
)
})
return (
<div>
{jokeComponents}
</div>
)
}
export default App;
然后我在控制台中收到警告:
警告日志
在上图中,键值已通过,但我仍然收到警告消息。我正在尝试将元素传递到单个对象中。谁能帮我在这里找到问题?
解决方案
您必须将密钥作为道具传递给笑话组件。id 将是一个很好的选择,因为反应和解是如何工作的。
<Joke key={joke.id}
obj={{key: joke.id, question: joke.question, punchline: joke.punchLine}}
/>
推荐阅读
- python - ImportError: DLL load failed while importing _pywrap_tensorflow_internal: 动态链接库 (DLL) 初始化例程失败
- java - 正则表达式替换整个单词,而不是字符
- javascript - 获取条纹支付意图方法错误
- c# - 用于匹配来自多层嵌套集合的对象的 Linq 谓词
- javascript - 需要将 Windows 身份验证添加到基本 HTML/JavaScript 站点
- java - 为什么 Stream.Builder 同时具有 add 和 accept 方法?
- sql-server - 查询中标量变量的转换
- arrays - 为什么我应该 malloc 足够的空间后数组似乎泄漏?
- python - 使用请求验证 SSL 证书
- image - 在带有大厅的 nexus 上构建和推送 docker 映像