Reactjs React Redux-如何使用可以添加输入的材质ui构建表单?

Reactjs React Redux-如何使用可以添加输入的材质ui构建表单?,reactjs,redux,material-ui,Reactjs,Redux,Material Ui,我正在将代码从React-Flux引导应用程序重构为使用Material ui的Redux。我真正想做的是创建一个表单,该表单以一个输入开始(即标题),然后通过单击按钮添加多个额外输入。这些输入都是相同的,但显然需要区分(即名称) 理想情况下,我希望能够输入尽可能多的名称,将它们收集为一个数组,然后将它们发送回我的数据库。我更关心的是实际创建表单本身和收集输入的代码 如果有人能给我一个快速的例子,告诉我如何开始实现这一目标,我将非常感激 感谢您的时间React“comments”教程提供了一个很

我正在将代码从React-Flux引导应用程序重构为使用Material ui的Redux。我真正想做的是创建一个表单,该表单以一个输入开始(即标题),然后通过单击按钮添加多个额外输入。这些输入都是相同的,但显然需要区分(即名称)

理想情况下,我希望能够输入尽可能多的名称,将它们收集为一个数组,然后将它们发送回我的数据库。我更关心的是实际创建表单本身和收集输入的代码

如果有人能给我一个快速的例子,告诉我如何开始实现这一目标,我将非常感激

感谢您的时间

React“comments”教程提供了一个很好的示例,说明用户输入推动了列表的增长:。您需要查看CommentList类

要数据驱动表单字段列表,可以执行以下操作:

getInitialState() {
  return {
    formFields: [{key: "one", value: "first"}, {key: "two", value: "second"}]
  }
},

getOnChange(key) {
  let handler = () => {
    let newValue = this.refs[key].getValue()
    let newState = {}
    newState[key] = newValue
    this.setState(newState)
  }
  return handler
},

render() {
  return (
    <Paper>
      {this.state.formFields.map((item, index) => {
        return (<TextField ref={item.key} key={item.key} defaultValue={item.value} onChange={this.getOnChange(item.key)}/>)
      })}
    </Paper>
  )
}
getInitialState(){
返回{
formFields:[{key:“一”,value:“第一”},{key:“二”,value:“第二”}]
}
},
getOnChange(键){
let handler=()=>{
让newValue=this.refs[key].getValue()
让newState={}
newState[key]=newValue
this.setState(newState)
}
返回处理器
},
render(){
返回(
{this.state.formFields.map((项,索引)=>{
返回()
})}
)
}

我使用onChange的闭包来演示可变性,但还有其他方法可以实现这一点。

Hi Larry,我想做的是稍微不同,因为我想在表单上生成多个输入。我怀疑在将数据发布到服务器时,我会实现类似于该教程的内容(因此感谢您向我指出这一点),但是您能否向我指出一些可以帮助我生成一个表单的内容,我可以向其中添加动态量的输入?当我重构flux代码时,我可以以此为基础,但它使用的是引导而不是实质性的ui,代码有点乱!伊斯兰会议组织。我用一种方法更新了我的答案。关键是使用Array.map()函数。@BeeNag,这有帮助吗?如果是这样的话,你能接受这个答案吗?嗨,拉里,对不起,我没有早点回复!这正是我想要的,谢谢你的帮助!