compose: composing multiple functions together">compose: composing multiple functions together">
跳至主要内容

compose(...functions)

概述

从右到左组合函数。

这是一个函数式编程工具,包含在 Redux 中作为便利功能。您可能希望使用它来连续应用多个 store enhancercompose 也可以用作通用的独立方法。

警告

您不应该直接调用 compose。Redux Toolkit 的 configureStore 方法 会自动使用标准的 applyMiddleware 和 Redux DevTools store enhancer 配置 Redux store,并提供一个 enhancers 参数来传递额外的 enhancer。

参数

  1. (参数): 要组合的函数。每个函数都期望接受一个参数。它的返回值将作为参数提供给左侧的函数,依此类推。例外是右边的参数,它可以接受多个参数,因为它将为生成的组合函数提供签名。

返回值

(函数): 通过从右到左组合给定函数获得的最终函数。

示例

此示例演示了如何使用 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 所做的只是让你能够编写深度嵌套的函数转换,而不会出现代码向右偏移的情况。不要过分夸大它的作用!