剛接觸React並試圖循環對象屬性,但React抱怨對象不是有效的反應兒童,有人請給我一些關於如何解決這個問題的建議嗎?我已經添加了createFragment,但並不完全確定這需要去哪裏或者我應該採取什麼方法?如何在React中循環對象?
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()'奇怪的是我的修復。這也有趣:http://stackoverflow.com/questions/37997893/promise-error-objects-are-not-valid-as-a-react-child –