当前位置: 首页 > 知识库问答 >
问题:

React map功能未正确分配钥匙

谭志用
2023-03-14

出于某种原因,当返回以下代码时,我得到了“列表中的每个孩子都应该有唯一的密钥”错误。我不明白为什么会发生这种情况,因为我在映射期间专门分配了密钥:

return (
        <>
            {sortfeedCards(feedCards)}
            {loggedIn === true ? (feedCardsMod.map((card, index) => (
                <>
                    <p>{index}</p>
                    <FeedCard key={index} cardData={card} loggedIn={loggedIn} />
                </>
            ))) : ('')}
        </>
    )

非常感谢!

共有2个答案

彭飞虎
2023-03-14

试试这个:

return (
    <>
        {sortfeedCards(feedCards)}
        {loggedIn === true ? (feedCardsMod.map((card, index) => (
            <div key={index}>
                <p>{index}</p>
                <FeedCard cardData={card} loggedIn={loggedIn} />
            </div>
        ))) : ('')}
    </>
)

钥匙必须在附加标签中是唯一的:https://reactjs.org/docs/lists-and-keys.html

阎枫涟
2023-03-14

密钥需要在最外层元素上,所以在片段上,而不是FeedCard上:

feedCardsMod.map((card, index) => (
  <React.Fragment key={index}>
    <p>{index}</p>
    <FeedCard cardData={card} loggedIn={loggedIn} />
  <React.Fragment/>
))

简写语法

 类似资料:
  • 我正在运行一个2节点的elasticsearch集群,并将我的所有索引配置为2个主碎片和1个副本。起初,我认为每个节点将存储1个主碎片和1个副本,尽管这不是正在发生的事情。 如上所示,每个碎片都由单个节点托管,没有分配副本。 我做错了什么?

  • 我想知道你是否能帮助我。 我试图通过npm命令安装ang-cli npm安装-g angular cli,但是我收到了很多消息,“ng”命令不起作用。 我得到的一些错误如下 node-pre-gyp安装回退到构建 节点前gyp错误!已尝试下载:https://node-zopfli.s3.amazonaws.com/Release/zopfli-v1.4.0-node-v48-win32-x64.

  • 背景: 在我的数据库表中,我有两个时间戳 当我执行“按时间戳ASC排序”时,时间戳2被认为是更大的时间戳(这是正确的)。 要求:我需要得到这些时间戳的差异(timeStamp2-timeStamp1) 我的实施: 答案应该是238ms,但返回的值是-653ms。我不确定我做错了什么。有什么建议吗?

  • 问题内容: 在python中,我尝试执行以下操作以定义函数: 但是由于某种原因,这是错误的。我收到此错误: 我该如何解决? 谢谢 问题答案: 这不是在python中声明函数的方式。您要写的是: 也就是说,如果您已经具有和函数。

  • 我已经使用OpenSSL创建了一个自签名证书链。证书的扩展名为.crt。我试图从那个.crt文件创建一个.keystore文件。 如何成功生成密钥存储库文件?为什么将该文件转换为.p12有效?

  • 问题内容: 我正在将ReactJS与Babel和Webpack一起使用,并使用ES6以及针对箭头功能的建议类字段。我知道箭头函数通过不重新创建每个呈现的函数(类似于构造函数中的绑定工作方式)来使事情更高效。但是,我不确定100%是否正确使用了它们。以下是我的代码在三个不同文件中的简化部分。 我的代码: Main.js SecondClass.js ThirdClass.js 题: 我上面的代码使用