Javascript warning.js:45警告:FlattChildren(…):遇到两个具有相同密钥的子项,`.1:$`

Javascript warning.js:45警告:FlattChildren(…):遇到两个具有相同密钥的子项,`.1:$`,javascript,reactjs,Javascript,Reactjs,我收到了大量这样的错误,一个接一个地在警告信息上附加了不同的键。有没有一种方法可以根据id密钥找出它们的来源 找出你犯了关键错误的地方通常是一件痛苦的事情,在React 15中,数据reactid甚至从未被呈现到DOM中,这使它变得更加困难。在正常版本中,只需检查DOM并开始查找具有数据reactid=.1:$..的元素 无论如何,错误来自于在某个地方手动设置键道具,因此请开始在组件中查找该属性。如果您有一个数组,并且为此数组的每个值渲染组件,这通常是一个问题: var things = [1,

我收到了大量这样的错误,一个接一个地在警告信息上附加了不同的键。有没有一种方法可以根据id密钥找出它们的来源

找出你犯了关键错误的地方通常是一件痛苦的事情,在React 15中,
数据reactid
甚至从未被呈现到DOM中,这使它变得更加困难。在正常版本中,只需检查DOM并开始查找具有
数据reactid=.1:$..
的元素

无论如何,错误来自于在某个地方手动设置
道具,因此请开始在组件中查找该属性。如果您有一个数组,并且为此数组的每个值渲染组件,这通常是一个问题:

var things = [1,2,3,4].map(function(value, index){
  // This will cause Warning: flattenChildren... because
  // every div will be given the same React ID
  return (
    <div key="FIXED_KEY">{value}</div>
  );
})
var things=[1,2,3,4].map(函数(值,索引){
//这将导致警告:压扁儿童…因为
//每个div将被赋予相同的React ID
返回(
{value}
);
})
现在,在这种情况下,必须手动设置关键点,只需确保同一循环中每个渲染组件的关键点都是唯一的