在 React 中使用动态键设置状态

IT技术 javascript reactjs setstate
2021-05-20 23:17:40

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

这是我的代码。

<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个回答

使用动态密钥设置状态时,您需要将密钥包装在[]like

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