this.setState里,key的值用[]包裹,是什么语法?

在react官网看到这个语法,是啥意思?

clipboard.png

代码来源:
https://reactjs.org/docs/form...

this.setState({[name]:value})//这是什么语法?name外面为何要用[]包裹
阅读 4.9k
5 个回答

这样理解。 如果这里name不用[] 包裹的话,那是不是意味着 这里的key 已经指定写死名称就叫做name。
但是如果用[]包裹 意味着 name可以是一个变量。

这里的name用中括号包起来,代表的是用name变量的值来作为key

[name]是动态创建对象属性,类似obj[name]那样。

表示计算表达式作为对象的键。
可以试想有一个变量 name = 'hello', 想把'hello'作为键,该怎么写?下面的写法效果相同:

let data = {
  [name]: '123';
}

let data = {
  hello: '123';
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题