反应 setState 键值

React setState key values

我在使用 setState 的 React 应用程序中有一个函数

...
handleChange: (e, id) => {
  e.preventDefault()
  setState({ id: e.target.value })
}
...

问题是 id 只是状态对象中字段的占位符,但每次触发该函数时,它都会创建一个新字段 id 并在 形式。 我可能做错了所以我想知道是否有解决方法或解决方案。 任何帮助将不胜感激。

由于 id 是一个具有状态键值的变量,因此您需要使用 [],将会发生的是,id 将被其值替换。

如果您不使用 [],则 id 将被视为 "id" 字符串

像这样:

handleChange: (e, id) => {
    e.preventDefault()
    this.setState({ [id]: e.target.value })
}