警告:遇到两个孩子使用相同的钥匙

Posted

技术标签:

【中文标题】警告:遇到两个孩子使用相同的钥匙【英文标题】:Warning: Encountered two children with the same key 【发布时间】:2018-10-06 08:05:14 【问题描述】:

我正在使用 nivo 线组件来绘制堆叠线图。我收到此错误:

Warning: Encountered two children with the same key, `L1.87.83999837239584`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version

它在谈论什么钥匙和孩子?图上的每个数据点是否有可能是一个不同的 React 元素,它是某个集合的一部分,并且必须在“反应意义上”被唯一标识?

【问题讨论】:

【参考方案1】:

显然,Nivo 获取您的 x,y 数据对并将每个对值组合成用于集合中标识的反应键。这意味着如果你有一个重复的 x,y 对,你最终会得到一个重复的键,这会导致我报告的错误。 它还会因为有 2 个相同的 x 值和不同的 y 值而崩溃——不知道如何处理。

【讨论】:

我相信我只是过滤了重复的 x,y 对,并没有将重复项添加到我的收藏中。所以换句话说,不,在使用包时没有解决方法——我必须确保我的数据不违反 Nivo 限制

以上是关于警告:遇到两个孩子使用相同的钥匙的主要内容,如果未能解决你的问题,请参考以下文章

React 警告:flattenChildren(...):遇到两个具有相同密钥的孩子

反应警告:flattenChildren(...):遇到两个具有相同键的孩子,`.$index`

警告:flattenChildren (...) 遇到两个具有相同键的孩子 - 反应原生

React Native - 遇到两个孩子使用相同的键,`221`

反应列表中的每个孩子都应该有一个唯一的“关键”道具。即使钥匙存在

两个不同实体中的相同@NamedQueries 会发出警告