Javascript 警告:每个子级在ReactJS中都应该有一个唯一的密钥传递数组

Javascript 警告:每个子级在ReactJS中都应该有一个唯一的密钥传递数组,javascript,arrays,reactjs,key,Javascript,Arrays,Reactjs,Key,我在Scrimba上练习,你必须在数组中传递id道具 从“React”导入React; 从“./components/Joke.js”导入笑话 从“/components/jokesData”导入jokesData; 函数App(){ const jokeComponents=jokesData.map(函数(笑话){ 返回( ) }) 返回( {jokeComponents} ) } 导出默认应用程序您可以添加键属性并传入该笑话.id const jokeComponents = jok

我在Scrimba上练习,你必须在数组中传递id道具

从“React”导入React;
从“./components/Joke.js”导入笑话
从“/components/jokesData”导入jokesData;
函数App(){
const jokeComponents=jokesData.map(函数(笑话){
返回(
)
})
返回(
{jokeComponents}
)
}

导出默认应用程序
您可以添加
属性并传入该
笑话.id

  const jokeComponents = jokesData.map(function(joke) {
    return (
      <Joke 
        obj={{key: joke.id, question: joke.question, punchline: joke.punchLine}}
        key={joke.id)
      />
    )
  })
const jokeComponents=jokesData.map(函数(笑话){ 返回( ) })
您必须将密钥作为道具传递给组件。我会是一个很好的选择,因为它是如何工作的

<Joke  key={joke.id}
            obj={{key: joke.id, question: joke.question, punchline: joke.punchLine}} 
          />


(警告说
钥匙道具
,你的笑话只有一个
obj
道具)你不应该使用索引作为钥匙。是的,我已经更正了,我注意到他确实有一个笑话的id,所以无论如何都不需要索引。