刚开始学习react.js和javascript。我正在查看facebook' github上的所有文档,但我对此感到困惑。
在Lifting state up章节的计算器类的 handleCelsiusChange 方法中,有以下一行:
this.setState({scale: 'c', value});
因此比例将获得值' c'。好的。但这个值究竟是什么呢?它不应该是一个键值对吗? 我已查看explanation of setState():
第一个参数可以是一个对象(包含零个或多个键) 更新)或返回对象的函数(状态和道具) 包含要更新的密钥。
但它没有说明这种用法。
谢谢! :)
答案 0 :(得分:9)
这实际上是ES6的一个功能。如果键与现有变量名匹配,则可以使用此简写语法。因此,不是写value: value
而是写value
,因为键和变量名是相同的。
ES6示例
function getCar(make, model, value) {
return {
// with property value shorthand
// syntax, you can omit the property
// value if key matches variable
// name
make,
model,
value
};
}
与ES3 / ES5中的上述内容相同
function getCar(make, model, value) {
return {
make: make,
model: model,
value: value
};
}
取自http://www.benmvp.com/learning-es6-enhanced-object-literals/
的示例答案 1 :(得分:3)
这是来自ES6的特殊简写符号,表示value: value
,请点击此处https://ariya.io/2013/02/es6-and-object-literal-property-value-shorthand了解更多详情