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

ins*_*ral 9 javascript facebook reactjs

刚开始学习react.js和javascript.我正在浏览facebook的github上的所有文档,但是仍然坚持这一点.

提升状态向上章节中的Calculator类的handleCelsiusChange方法中有以下行:

this.setState({scale: 'c', value});
Run Code Online (Sandbox Code Playgroud)

因此,比例将获得值'c'.好的.但这个价值究竟是什么呢?它不应该是一个键值对吗?我检查了setState()解释:

第一个参数可以是一个对象(包含零个或多个要更新的键)或一个函数(state和props),它返回一个包含要更新的键的对象.

但它没有说明这种用法.

谢谢!:)

Bjö*_*ser 11

这实际上是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
    };
}
Run Code Online (Sandbox Code Playgroud)

相当于ES3/ES5中的上述内容

function getCar(make, model, value) {
    return {
        make: make,
        model: model,
        value: value
    };
}
Run Code Online (Sandbox Code Playgroud)

示例来自http://www.benmvp.com/learning-es6-enhanced-object-literals/