我在使用无状态功能组件包裹的SelectField时遇到问题。
const Select = (props) => {
const { options } = props;
const items = Object.keys(options).map((option, i) =>
<MenuItem key={i} value={option} primaryText={options[option]} />
);
return (
<SelectField
style={props.style}
floatingLabelText={props.label}
value={props.value}
onChange={props.onChange.bind(null, props.name)}
>
{items}
</SelectField>
);
};
我在父组件中使用它作为休闲:
<Select
name='layoutValue'
style={selectStyle}
options={this.layoutOptions}
label='Layout'
value={this.state.layoutValue}
onChange={this.handleSelectChange}
/>
问题是初始渲染默认值(在props中传递 - 来自父级的状态)未被选中。 SelectField为空。手动选择值后,一切正常。我做错了什么?