compose(...functions)
概要
関数を右から左へ合成します。
これは関数型プログラミングのユーティリティであり、便宜上Reduxに含まれています。複数のストアエンハンサーを連続して適用する場合に使用できます。compose
は汎用的なスタンドアロンメソッドとしても使用できます。
警告
compose
を直接呼び出す必要はありません。Redux ToolkitのconfigureStore
メソッドは、標準のapplyMiddleware
とRedux DevToolsストアエンハンサーを使用してReduxストアを自動的に構成し、追加のエンハンサーを渡すためのenhancers
引数を提供します。
引数
- (引数): 合成する関数。各関数は、単一のパラメータを受け入れることが期待されます。その戻り値は、左側の関数に引数として提供され、以下同様です。例外として、最も右側の引数は複数のパラメータを受け入れることができます。これは、結果として得られる合成関数のシグネチャを提供するためです。
戻り値
(関数): 与えられた関数を右から左に合成することで得られる最終的な関数。
例
この例では、applyMiddleware
とredux-devtoolsパッケージのいくつかのデベロッパーツールを使用してストアを拡張する方法を示しています。
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
が行うことは、コードの右へのずれを防ぎながら、深くネストされた関数変換を記述できるようにすることだけです。過大評価しないでください!