这个例子是人为设计的,但它得到了我需要做的事情。
假设我有一个这样的现有组件:
var c1 = React.DOM.p( {} );
然后我需要在数组的上下文中使用这个组件,如下所示:
var container = React.DOM.div( {}, [ c1, c2 ] );
这将创建一个包含 c1
和 c2
子组件的 div,但是 React 提示传递给 div 的数组中的项目缺少 key 属性功能。
在将它传递给容器之前,是否可以先向已经存在的 c1
组件添加一个键?我确实意识到它可以在首次创建 c1
时设置,但我需要在之后进行设置。
我正在查看 React 方法和插件,但没有看到任何解决这种情况的方法。
最佳答案
啊哈,在重新阅读 documentation here 之后,我注意到这一行:
You can also key children by passing an object. The object keys will be used as key for each value.
所以,与其传递上面的数组,我还可以做这样的事情:
var p = React.DOM.p( {} ),
contentObject = {
component1: p,
component2: somethingElse
},
container = React.DOM.div( {}, contentObject );
React 会将对象参数解释为这些组件的键。
关于javascript - 是否可以在 React 组件实例化后添加 key 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26552105/