Эта страница переведена PageTurner AI (бета). Не одобрена официально проектом. Нашли ошибку? Сообщить о проблеме →
compose(...functions)
Обзор
Выполняет композицию функций справа налево.
Это утилита функционального программирования, включённая в Redux для удобства. Её можно использовать для последовательного применения нескольких улучшений хранилища. compose также работает как самостоятельный метод общего назначения.
Вам не следует вызывать compose напрямую. Метод configureStore из Redux Toolkit автоматически настраивает хранилище Redux со стандартными улучшениями applyMiddleware и Redux DevTools, а также предоставляет аргумент enhancers для передачи дополнительных улучшений.
Аргументы
- (аргументы): Функции для композиции. Каждая функция должна принимать один параметр. Возвращаемое значение передаётся как аргумент в функцию слева и так далее. Исключение — крайний правый аргумент, который может принимать несколько параметров, так как он определяет сигнатуру итоговой композированной функции.
Возвращаемое значение
(Функция): Финальная функция, полученная композицией заданных функций справа налево.
Пример
Здесь показано, как использовать 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просто позволяет писать вложенные преобразования функций без смещения кода вправо. Не переоценивайте его важность!