警告:任何对键控对象的使用都应该在作为子对象传递之前包装在 React.addons.createFragment(object) 中
Warning: Any use of a keyed object should be wrapped in React.addons.createFragment(object) before being passed as a child
我已经将 React 升级到 0.13.x 从 0.12.2(也是 react-router),不幸的是我收到了这个警告。
Warning: Any use of a keyed object should be wrapped in React.addons.createFragment(object) before being passed as a child.
我认为问题是由我的 <RouteHandler>
中的键 属性 引起的。
在 React 0.12.x 中,我使用 getRoutes()
函数来设置密钥。
render: function () {
var name = this.getRoutes().reverse()[0].name;
return (
<div className="app">
<Router.RouteHandler
key={name}
places={this.state.places}
mode={this.state.mode}
...
然后 React 知道使用哪个组件。它的工作原理类似于
http://theimagehost.net/upload/798bf2195d31a2926250e6fbca806254.gif
现在
http://theimagehost.net/upload/9990cea32e13d443806b829ccbdc964d.gif
我不知道如何告诉 React 应该使用哪个组件。
您只应在呈现基于动态数组的组件列表时使用 key
属性。一旦将 属性 从 key
重命名为其他名称
,错误应该消失
我已经将 React 升级到 0.13.x 从 0.12.2(也是 react-router),不幸的是我收到了这个警告。
Warning: Any use of a keyed object should be wrapped in React.addons.createFragment(object) before being passed as a child.
我认为问题是由我的 <RouteHandler>
中的键 属性 引起的。
在 React 0.12.x 中,我使用 getRoutes()
函数来设置密钥。
render: function () {
var name = this.getRoutes().reverse()[0].name;
return (
<div className="app">
<Router.RouteHandler
key={name}
places={this.state.places}
mode={this.state.mode}
...
然后 React 知道使用哪个组件。它的工作原理类似于
http://theimagehost.net/upload/798bf2195d31a2926250e6fbca806254.gif
现在
http://theimagehost.net/upload/9990cea32e13d443806b829ccbdc964d.gif
我不知道如何告诉 React 应该使用哪个组件。
您只应在呈现基于动态数组的组件列表时使用 key
属性。一旦将 属性 从 key
重命名为其他名称