compose(...functions)
Компонует функции справа налево.
Это утилита функционального программирования, включённая в Redux для удобства.
Вы можете использовать её для последовательного применения нескольких улучшителей хранилища.
Аргументы
- (arguments): Функции для компоновки. Ожидается, что каждая функция будет принимать один параметр. Его возвращаемое значение будет передано в качестве аргумента функции, стоящей слева, и так далее. Исключением является аргумент в правой части, который может принимать несколько параметров, так как он предоставляет сигнатуру для результирующей составной функции.
Возвращает
(Функция): Конечная функция, полученная путём компоновки заданных функций справа налево.
Пример
В этом примере показано, как использовать compose для улучшения хранилища с помощью applyMiddleware и нескольких инструментов разработчика из пакета redux-devtools.
import { createStore, combineReducers, applyMiddleware, compose } from 'redux'
import thunk from 'redux-thunk'
import DevTools from './containers/DevTools'
import reducer from '../reducers/index'
const store = createStore(
reducer,
compose(
applyMiddleware(thunk),
DevTools.instrument()
)
)
Советы
- Всё, что делает
compose, — это позволяет вам писать глубокие вложенные преобразования функций без смещения кода вправо. Не стоит переоценивать её возможности!
© 2015–2017 Dan Abramov
Licensed under the MIT License.
http://redux.js.org/docs/api/compose.html