gpt4 book ai didi

javascript - 为什么没有 [] 的对象键不会成为可接受的参数?

转载 作者:行者123 更新时间:2023-11-30 06:17:08 27 4
gpt4 key购买 nike

该代码是组件状态的通用切换处理程序。我似乎无法弄清楚为什么第一组代码创建一个新的键名属性,而第二组代码使用接受的参数。

 controlToggle = (property) => {
this.setState({property: !this.state.property})
}
 controlToggle = (property) => {
this.setState({[property]: !this.state.property})
}

最佳答案

您在设置或获取动态对象键时使用[]。如果您不在 [] 中提供键,它将使用变量名称作为对象中的键,在您的情况下是 property

比如

controlToggle = (property) => {
this.setState({property: !this.state.property})
}

上面的代码会将状态与key设置为property

正确的做法是

controlToggle = (property) => {
this.setState({[property]: !this.state[property]})
}

关于javascript - 为什么没有 [] 的对象键不会成为可接受的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55469037/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com