如何在reactjs中将嵌套对象绑定到表单

如何在reactjs中将嵌套对象绑定到表单,reactjs,Reactjs,假设我有这样的记录: var project={ manager:{ id:1, name:"John" }, name:"create ...", workers:[ {name:'x',social_id:'xxx',age:11}, {name:'x',social_id:'xxx',age:12} ] }; 我想用这样的格式编辑这个对象: 我知道我可以通过props将数据绑定到表单

假设我有这样的记录:

var project={
    manager:{
        id:1,
        name:"John"
    },
    name:"create ...",
    workers:[
        {name:'x',social_id:'xxx',age:11},
        {name:'x',social_id:'xxx',age:12}
    ]
};
我想用这样的格式编辑这个对象:

我知道我可以通过
props
将数据绑定到表单,但是我想知道如何收集更新的数据并将其发送到服务器

顺便说一句,服务器在创建或更新对象时接受
应用程序/json
内容类型。

简短回答:

  • 将所有处于状态的项目信息(包括嵌套的工作人员信息)存储在顶级组件中
  • 组件中定义一个
    handleChange(worker)
    处理程序,该处理程序将一个worker记录作为参数,并相应地更新状态
  • 定义一个
    组件,该组件将a)来自项目状态的工作人员信息和b)如
    中定义的
    this.handleChange
    方法作为道具
  • 在worker组件中,为每个输入项的更改添加一个处理程序
  • 每当worker中的输入项发生更改时,调用
    this.props。父组件上的handleChange(worker)