Javacsript - 使用 2 个变量键访问嵌套对象值(对于 ReactJS setState())



在我看来,这是一个非常简单的问题,但我似乎无法解决它。

我正在尝试在使用 2 个字符串键访问嵌套状态对象时在 ReactJS 组件上设置状态,但我似乎无法让它工作。

州:-

state = {
first_name: {
value: '',
},
}

这些尝试失败:-

this.setState({ [[e.target.name]['value']]: e.target.value})
this.setState({ [e.target.name['value']]: e.target.value})

e.target.name 评估为"first_name",所以这不是问题......我也试过: -

this.setState({ [['first_name']['value']]: e.target.value})
this.setState({ ['first_name'['value']]: e.target.value})

发生的所有情况是我在"未定义"的状态对象中得到一个新条目。任何人都可以在这里提供建议吗?谢谢。

编辑:

似乎是以下内容的副本: -

如何为嵌套数组设置状态?

找到解决方案(使用扩展运算符(...

this.setState({
[e.target.name]: {
...this.state[e.target.name],
value: e.target.value
},
}
)

最新更新