我收到了大量这些错误,一个接一个,警告信息附有不同的密钥。有没有办法根据id键找出它们的来源?
答案 0 :(得分:1)
找出你犯了关键错误的位置通常很痛苦,而在React 15中,data-reactid
甚至从未呈现给DOM,使其变得更难。在普通版本中,只需检查DOM并开始查找具有data-reactid=.1:$....
。
无论如何,错误来自于在某处手动设置key
道具,因此请在组件中开始查找。如果你有一个数组,并且为这个数组的每个值渲染组件,这通常是一个问题:
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>
);
})
现在,在这种情况下,您有手动设置密钥,只需确保该密钥对于同一循环中的每个呈现组件都是唯一的。