【发布时间】:2016-12-25 15:59:10
【问题描述】:
所以我有一个 React.js 组件,我想循环访问一个我导入的对象以向它添加 HTML 选项。这是我尝试过的,既丑陋又不起作用:
import React from 'react';
import AccountTypes from '../data/AccountType';
const AccountTypeSelect = (props) => {
return (
<select id={props.id} className = {props.classString} style={props.styleObject}>
<option value="nothingSelected" defaultValue>--Select--</option>
{
$.each(AccountTypes, function(index) {
<option val={this.id}>this.name</option>
})
}
</select>
);
};
export default AccountTypeSelect;
我从上面的代码在控制台中收到了这个错误:
invariant.js?4599:38 - Uncaught Invariant Violation:对象作为 React 子项无效(发现:对象带有键 {id、name、enabled、additionalInfo})。如果您打算渲染一组子项,请改用数组或使用 React 附加组件中的 createFragment(object) 包装对象。检查AccountTypeSelect的渲染方法。
我真的需要将每个对象转换成一个数组或用 createFragment 包装它来使用它吗?这种情况下的最佳做法是什么?
【问题讨论】:
标签: javascript reactjs react-jsx jsx