在 React 中使用动态键设置状态 [重复]

Posted

技术标签:

【中文标题】在 React 中使用动态键设置状态 [重复]【英文标题】:Using a dynamic key to setState in React [duplicate] 【发布时间】:2018-12-19 07:36:14 【问题描述】:

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

这是我的代码。

<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】:

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

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

【讨论】:

完美,我意识到我也需要使用新副本设置状态。谢谢老兄。

以上是关于在 React 中使用动态键设置状态 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Typescript 中将具有动态键的对象设置为 React 状态

在for循环内设置动态键和值[重复]

setState 没有更新 React 中的设置值 [重复]

如何在 React 状态数组中不包含重复值,如何防止数组中的值重复?

如何在 React 状态数组中不包含重复值?

在复杂的 React 组件中查找重复键