变量作为不变性助手合并的目标键

variables as the target key of an immutability-helper merge

给定一个 immutability-helper 节,例如:

new_state = update(this.state, {$merge: {
  name: event.target.value
}});

有没有办法用 argument/variable 替换上面的 'name' 键?我想让这种类型的处理程序更通用。正如向包含此节的函数发送一个 arg,它告诉更新要合并的内容,类似于(不起作用,尝试创建键 'arg'):

handleChange = (arg, event) => {
  new_state = update(this.state, {$merge: {
      arg: event.target.checked
    }})
  // setState(), etc.
}

我想不出让它发挥作用的秘诀。

为了更新动态密钥,您需要在 [] 内添加它们,例如

handleChange = (arg, event) => {
  new_state = update(this.state, {$merge: {
      [arg]: event.target.checked
    }})
  // setState(), etc.
}

您可以找到文档 here