2017-02-11 72 views
2

剛開始學習react.js和javascript。我正在瀏覽Facebook的github上的所有文檔,但遇到了這個問題。react.js setState調用密鑰但沒有值?

Lifting state up計算器類的handleCelsiusChange方法有這一行:

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

所以規模將獲得值 'C'。好的。但是這個只是在那裏?它不應該是一個鍵值對嗎? 我已檢查explanation of setState()

第一個參數可以是對象(包含零個或多個鍵來 更新)或(狀態和道具)的函數返回一個對象 含有鍵進行更新。

但它說這個用法沒有任何相關性。

謝謝! :)

回答

2

這實際上是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等效從http://www.benmvp.com/learning-es6-enhanced-object-literals/

採取

function getCar(make, model, value) { 
    return { 
     make: make, 
     model: model, 
     value: value 
    }; 
} 

實施例

相關問題