在React中使用动态键设置setState

时间:2018-07-11 09:54:50

标签: javascript reactjs setstate

从输入字段中,我将值作为参数发送给设置状态的函数。我有多个输入字段,因此想使用它们的名称(等于它们的状态键)来使用相同的函数,并将键和值传递给设置状态的函数。

这是我的代码。

<Modal
  onTextChange={(text, key) => {
    this.setState({
      event: {
        key: text
      }
    })
  }}
/>

和输入

<input
  type="date"
  name="dateStart"
  onKeyUp={event => this.props.onTextChange(event.target.value, event.target.name)
/>

text参数有效,而key参数无效。

谢谢。

1 个答案:

答案 0 :(得分:5)

使用动态键设置状态时,您需要像{p>那样将键包装在[]

<Modal
  onTextChange={(text, key) => {
    this.setState({
      event: {
        [key]: text
      }
    })
  }}
/>