compose(...functions)
概述
从右到左组合函数。
这是一个函数式编程工具,包含在 Redux 中作为便利功能。您可能希望使用它来连续应用多个 store enhancer。compose
也可以用作通用的独立方法。
警告
您不应该直接调用 compose
。Redux Toolkit 的 configureStore
方法 会自动使用标准的 applyMiddleware
和 Redux DevTools store enhancer 配置 Redux store,并提供一个 enhancers
参数来传递额外的 enhancer。
参数
- (参数): 要组合的函数。每个函数都期望接受一个参数。它的返回值将作为参数提供给左侧的函数,依此类推。例外是右边的参数,它可以接受多个参数,因为它将为生成的组合函数提供签名。
返回值
(函数): 通过从右到左组合给定函数获得的最终函数。
示例
此示例演示了如何使用 compose
来使用 applyMiddleware
和来自 redux-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
所做的只是让你能够编写深度嵌套的函数转换,而不会出现代码向右偏移的情况。不要过分夸大它的作用!