react.js setState调用键但没有值?

时间:2017-02-11 22:18:00

标签: javascript facebook reactjs

刚开始学习react.js和javascript。我正在查看facebook' github上的所有文档,但我对此感到困惑。

Lifting state up章节的计算器类的 handleCelsiusChange 方法中,有以下一行:

this.setState({scale: 'c', value});

因此比例将获得值' c'。好的。但这个究竟是什么呢?它不应该是一个键值对吗? 我已查看explanation of setState()

  

第一个参数可以是一个对象(包含零个或多个键)   更新)或返回对象的函数(状态和道具)   包含要更新的密钥。

但它没有说明这种用法。

谢谢! :)

2 个答案:

答案 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了解更多详情