当前位置:  开发笔记 > 编程语言 > 正文

反应警告:flattenChildren(...):遇到两个孩子用同一把钥匙

如何解决《反应警告:flattenChildren():遇到两个孩子用同一把钥匙》经验,为你挑选了2个好方法。

有人可以解释如何解决此错误

警告:flattenChildren(...):遇到两个孩子用同一把钥匙

我在下面复制了我的代码,但由于某种原因,CodePen没有显示错误.

var FilterOptions = React.createClass({
changeOption: function(type, e) {
var val = e.target.value;
this.props.changeOption(val, type);
},

render: function() {

return (
  
); } });

Codepen

作为第二个问题,我很确定我的重置应该重置选择框的值,但这也不起作用,只是重置渲染结果 - 不确定这是否与第一个问题有关?

任何帮助非常感谢



1> 小智..:

使用索引作为关键不是一个好主意.关键是React用于识别DOM元素的唯一方法.如果您将项目推送到列表或删除中间的某些内容会发生什么?如果密钥与之前相同,则React假定DOM元素表示与以前相同的组件.但那不再是真的.来自:https://medium.com/@robinpokorny/index-as-a-key-is-an-anti-pattern-e0349aece318

最好使用您映射的每个项目中的唯一字符串作为键.类似于或者如果某个键不存在,可以通过执行类似的操作来创建唯一标识符.



2> Chris O..:

添加索引作为固定的值.感谢@azium为你的sugegstion.

  

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有