更新嵌套数组react.js中的状态

时间:2018-07-28 17:59:06

标签: javascript reactjs

我正在尝试获得两种方式的绑定,以便在React中为嵌套数组工作。我有它用于部门名称,这是一个简单的单一输入。问题是当我尝试为handleInputChangeArray中的团队数组设置setState时。应用程序中断,我收到一条错误消息,指出this.state.team.map不是函数。

ScrollView

这是我的两个功能:

wrap_content

此输入与我的handleInputChange完美配合

  constructor(props) {
    super(props);
    this.state = {
      departmentName: '',
      team: [
        {
          name: '',
          title: '',
          salary: '',  
            }
          ]
        }
      ]

    };
    this.handleInputChange = this.handleInputChange.bind(this);
    this.handleInputChangeArray = this.handleInputChangeArray.bind(this);
  }

这不起作用:

handleInputChangeArray(event) {
 const target = event.target;
 const value = target.type === 'checkbox' ? target.checked : target.value;
 const name = target.name;
 this.setState(({team}) => ({team: {
      ...team,
      [name]: value,
    }}))
  }

handleInputChange(event) {
const target = event.target;
const value = target.type === 'checkbox' ? target.checked : target.value;
const name = target.name;
this.setState({
  [name]: value
 });
}

1 个答案:

答案 0 :(得分:1)

您还必须传入index数组中应更新的对象中的team,以便您可以将name属性更改为{ {1}}代表正确的元素。

示例

value