我有一個簡單的函數(一個陣營組件內):如何返回帶有胖箭頭功能的對象而不重新綁定?
getInitialState: function() {
return {
text: this.props.text
}
}
但我想胖arrowify它:
getInitialState:() => {
text: this.props.text
}
除了我得到一個錯誤,因爲畢竟胖箭頭手段{
一段代碼返回undefined(除非你明確return
東西)。至少這是我一開始就想到的。但我認爲this
現在正在綁定該胖箭頭功能,現在this.props
是undefined
。
所以我試試這個:
getInitialState:() => new Object({
text: this.props.text
})
,但我得到了同樣的錯誤,this.props
是不確定的。
所以我想我有2個問題,我很好奇。首先,從一個簡單的語句胖箭頭函數返回對象的慣用方法是什麼?其次,我該如何返回一個對象,該對象引用了周圍環境的對象this
?
箭頭函數保留上下文,但是當你使用'new'時它會重置'this',因此你會得到錯誤。如果你想要這個工作,你可以回到ES5 hack'var self = this' – Rajesh
它被稱爲「箭頭函數」,而不是「胖箭頭函數」 – naomik