跳至主内容
非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

compose(...functions)

概述

从右向左组合函数。

这是一个函数式编程工具,Redux 将其作为便捷功能提供。 您可以用它连续应用多个 store 增强器compose 也可作为通用独立方法使用。

警告

通常无需直接调用 compose。Redux Toolkit 的 configureStore 方法会自动配置包含标准 applyMiddleware 和 Redux DevTools 增强器的 store,并提供 enhancers 参数来添加额外增强器。

参数

  1. (参数): 需要组合的函数序列。除最右侧函数外,每个函数应接受单一参数,其返回值将作为左侧函数的参数输入。最右侧函数可接受多个参数,它将决定最终组合函数的签名。

返回值

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

示例

此示例展示如何用 compose 增强 store,结合 applyMiddlewareredux-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 的核心价值是避免深层嵌套函数导致的代码右倾问题。不必过度推崇!