【发布时间】:2016-10-23 03:54:07
【问题描述】:
代码大概是这样的(CoffeeScript)
//In Parent component
render: () ->
mycomp = <SomeComponent some_prop="something" />
<ChildComponent passedComp = mycomp />
//In Child component
render: () ->
someContent = [passedComp, <AnotherComp key={2} />]
<div>
{someContent}
</div>
这会生成有关子组件中数组中缺少键的警告。
问题是如何在 Child 组件中将 key={1} 添加到passedComp。我不能在 Parent 的渲染方法中(与 some_prop 一起)这样做,因为此时我不知道应该是什么键。我需要在 Child 组件中添加 key 道具 - 但这里的 passComp 已经是一个对象。
我怎样才能修改passedComp以拥有一个密钥?
- 更新:
我有
someContent = [<span key={1}>{passedComp}</span>, <AnotherComp key={2} />]
它消除了 React 警告,但额外的跨度破坏了我的(以及 react-bootstrap 的)CSS。有没有更好的解决方案?
【问题讨论】: