Reactjs 如何使用材质UI在react上动态创建选择和状态?

Reactjs 如何使用材质UI在react上动态创建选择和状态?,reactjs,list,select,state,material-ui,Reactjs,List,Select,State,Material Ui,我需要根据我拥有的选择列表创建选择组件,例如: 列表->项目1, 项目2 组成部分: <Select value={this.state."NAME OF THE ITEM ON THE LIST"} onChange={this.handleChange} <MenuItem value={X} key={X} > Something </MenuItem> (the MenuItem part is working) </Select>

我需要根据我拥有的选择列表创建选择组件,例如:

列表->项目1, 项目2

组成部分:

<Select 
  value={this.state."NAME OF THE ITEM ON THE LIST"}
  onChange={this.handleChange}
 <MenuItem value={X} key={X} > Something </MenuItem> (the MenuItem part is working)
</Select>

如何动态创建
状态
,以便如果我有一个包含X个iten的列表,它将创建X个
选择
和X个
状态
,以进行更新?

您可以在状态中使用数组属性来管理这些项

state = {
    items: []
}
然后,在动态添加select时,必须在此数组中添加新值

addItem = () => {
    this.setState({
        items: [
            ...this.state.items, // previous items
            { value: ""} // plus the new one
        ]
    });
};
最后,当渲染“选择”时

<Select
  value={this.state.items[index].value
  onChange={event => {
    this.setState({ // map over the array to modify the matching item
      items: this.state.items.map(
        (item, idx) =>
          idx === index ? {...item, value: event.target.value} : item
      )
    });
  }}>
{
此.setState({//)映射到数组以修改匹配项
项目:this.state.items.map(
(项目,idx)=>
idx==索引?{…项,值:event.target.value}:项
)
});
}}>

希望下面的代码片段能帮助您

{this.props.data.map((e, keyIndex) => {
    return (<MenuItem key={keyIndex} value={e.warehouseId}>{e.name}</MenuItem>);
 })
}
{this.props.data.map((e,keyIndex)=>{
返回({e.name});
})
}

在这一部分:value={this.state.items[index].value}你能举一个有效的例子让我和我做的做一个比较吗?没关系,只要想清楚,但是你的答案给了我正确的路径,thanks@LucioZenir什么是
[index]
{this.props.data.map((e, keyIndex) => {
    return (<MenuItem key={keyIndex} value={e.warehouseId}>{e.name}</MenuItem>);
 })
}