compose(...functions)
概述
從右至左組合函式。
這是一個函式程式設計工具程式,並包含在 Redux 中以供方便使用。您可能想使用它來連續套用多個 儲存增強器。compose
也可用作一般用途的獨立方法。
警告
您不應該直接呼叫 compose
。Redux Toolkit 的 configureStore
方法 會自動使用標準 applyMiddleware
和 Redux DevTools 儲存增強器來設定 Redux 儲存,並提供 enhancers
參數來傳入其他增強器。
參數
- (參數):要組合的函式。每個函式預期接受一個參數。其回傳值將提供給位於左方的函式作為參數,以此類推。最右邊的參數例外,它可以接受多個參數,因為它會提供給組合後的函式作為簽章。
回傳值
(函式):透過從右至左組合給定的函式所取得的最終函式。
範例
此範例說明如何使用 compose
來透過 applyMiddleware
和 redux-devtools 套件中的幾個開發人員工具來增強 store。
import { createStore, applyMiddleware, compose } from 'redux'
import thunk from 'redux-thunk'
import DevTools from './containers/DevTools'
import reducer from '../reducers'
const store = createStore(
reducer,
compose(applyMiddleware(thunk), DevTools.instrument())
)
提示
compose
所做的就是讓你可以撰寫深度巢狀的函式轉換,而不會讓程式碼向右偏移。不要給它過多的讚譽!