【发布时间】:2016-10-10 19:40:30
【问题描述】:
React 新手并尝试循环 Object 属性,但 React 抱怨 Objects 不是有效的 React 子级,有人可以给我一些关于如何解决这个问题的建议吗?我添加了 createFragment 但不完全确定这需要去哪里或我应该采取什么方法?
JS
var tifs = {1: 'Joe', 2: 'Jane'};
var tifOptions = Object.keys(tifs).forEach(function(key) {
return <option value={key}>{tifs[key]}</option>
});
渲染功能
render() {
const model = this.props.model;
let tifOptions = {};
if(model.get('tifs')) {
tifOptions = Object.keys(this.props.model.get('tifs')).forEach(function(key) {
return <option value={key}>{this.props.model.get('tifs')[key]}</option>
});
}
return (
<div class={cellClasses}>
<div class="grid__col-5 text--center grid__col--bleed">
<h5 class="flush text--uppercase">TIF</h5>
<select id="tif" name="tif" onChange={this.handleChange}>
{tifOptions}
</select>
</div>
</div>
);
}
控制台出错
If you meant to render a collection of children, use an array instead or wrap the object using createFragment(object)
【问题讨论】:
-
我之前遇到过类似的错误。奇怪的是,使用
.map()是我的解决方法。这也很有趣:stackoverflow.com/questions/37997893/…
标签: javascript reactjs