compose(...functions)
Объединяет функции справа налево.
Это утилита функционального программирования, которая включена в Redux для удобства.
Вы можете использовать ее, чтобы применить несколько расширителей стора последовательно.
Параметры
- (аргументы): функции для композиции. Ожидается, что каждая функция принимает один параметр. Ее возвращаемое значение будет представлено в качестве аргумента для функции стоящей слева, и так далее. Исключением является самый правый аргумент, который может принимать несколько параметров, поскольку он будет обеспечивать подпись для полученной в результате функции.
Возвращает
(Функция): конечная функция полученая путем композиции переданных функций справа налево.
Пример
В этом примере показано, как использовать compose
для расширения стора с 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
позволяет вам писать глубоко вложенные функции преобразований без дрейфа вправо (rightward drift) в коде. Не предоставляйте ей слишком многого!