问题在于您的使用方式forEach()
,因为它总是会返回undefined
。您可能正在寻找map()
返回新数组的方法:
var tifOptions = Object.keys(tifs).map(function(key) {
return <option value={key}>{tifs[key]}</option>
});
如果仍然要使用forEach()
,则必须执行以下操作:
var tifOptions = [];
Object.keys(tifs).forEach(function(key) {
tifOptions.push(<option value={key}>{tifs[key]}</option>);
});
如果您正在编写ES6,则可以使用箭头功能来完成相同的任务:
const tifOptions = Object.keys(tifs).map(key =>
<option value={key}>{tifs[key]}</option>
)
这是显示上面提到的所有选项的小提琴:https ://jsfiddle.net/fs7sagep/