compose: composing multiple functions together">compose: composing multiple functions together">
跳到主要內容

compose(...functions)

概述

從右至左組合函式。

這是一個函式程式設計工具程式,並包含在 Redux 中以供方便使用。您可能想使用它來連續套用多個 儲存增強器compose 也可用作一般用途的獨立方法。

警告

您不應該直接呼叫 compose。Redux Toolkit 的 configureStore 方法 會自動使用標準 applyMiddleware 和 Redux DevTools 儲存增強器來設定 Redux 儲存,並提供 enhancers 參數來傳入其他增強器。

參數

  1. (參數):要組合的函式。每個函式預期接受一個參數。其回傳值將提供給位於左方的函式作為參數,以此類推。最右邊的參數例外,它可以接受多個參數,因為它會提供給組合後的函式作為簽章。

回傳值

(函式):透過從右至左組合給定的函式所取得的最終函式。

範例

此範例說明如何使用 compose 來透過 applyMiddlewareredux-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 所做的就是讓你可以撰寫深度巢狀的函式轉換,而不會讓程式碼向右偏移。不要給它過多的讚譽!