2017-04-16 29 views
2

這是什麼: stateProps這是什麼意思?我知道整個mapStateToProps函數是可選的,它的第一個參數爲state,可選的第二個參數爲ownProps,但是:指定的是什麼?這個函數會返回什麼?redux文檔對於mapStateToProps意味着什麼?

[mapStateToProps(state, [ownProps]): stateProps] 

回答

2

我的理解是你是正確的:在這種情況下,冒號後面的信息表示從函數返回的值的類型。換句話說,該函數將返回可以作爲連接組件的prop權限訪問的值,更具體地說,將是prop s,其中保存一些狀態表示,因此名稱stateProps

我不知道官方(或甚至非官方)對這種類型的JavaScript函數簽名的語法描述通常是針對JavaScript還是特定於react/redux。但是,我確實發現this other StackOverflow answer討論了這種TypeScript代碼的語法。我也看到了這種類型的函數簽名語法,例如PHP(例如this other StackOverflow question)。

請注意,後跟一個類型的冒號不僅可以引用從函數返回的值的類型,還可以在函數簽名的括號內找到函數參數的類型。例如,在this GitHub description of Flux中,找到以下行:reduce(state: number, action: Object): number {...。這意味着應使用兩個參數調用名爲reduce的這個特定函數,該參數的類型爲「number」,參數爲state,類型爲「Object」的參數的名稱爲action,它將返回類型爲「number」的值。