2016-08-25 90 views
1

大概是一個基本的問題,但爲什麼它在反應,如果你使用createClass它可以採取一個specification object的格式是一個鍵值對,如陣營createClass規範對象格式化

React.createClass({ 
    render: function() {...}, 
    componentDidMount: function() {...} 
}) 

VS 。函數聲明?

React.createClass({ 
    render() {...}, 
    componentDidMount() {...} 
}) 

它們如何工作?是否會奇蹟般地將聲明更改爲對象鍵值對?

+1

實際上它們是相同的。另一個只是使用新的ES語法。我認爲它的ES2015 ..檢查這[鏈接](http://es6-features.org/#MethodProperties) –

回答

2

它們是一樣的。一個是來自ES2015的Method Definitions,另一個是傳統方式。所以,React沒有做任何事情,只是現在JavaScript是如何工作的。 (只要瀏覽器支持它或像Babel這樣的預處理器將其轉換爲ES5)