【问题标题】:React Redux applyMiddleware invalid number of argumentsReact Redux applyMiddleware 参数数量无效
【发布时间】:2021-07-17 15:01:52
【问题描述】:

我似乎无法弄清楚这一点。当我使用函数 applyMiddleware 时,我无法传递任何参数,因为我得到错误无效的参数数量,预期为 0。

import {applyMiddleware, createStore} from "redux";
import logger from "redux-logger";
import rootReducer from "./root-reducer";

const middlewares = [logger];
const store = createStore(rootReducer, applyMiddleware(...middlewares));

export default store;

【问题讨论】:

  • createStore has 以下 API:createStore(reducer, [preloadedState], [enhancer])。尝试将其称为createStore(rootReducer, undefined, applyMiddleware(...middlewares))
  • 那也行不通。我仍然遇到同样的错误。
  • 确切的错误信息是什么?
  • 参数数量无效,应为 0。
  • 我不知道有什么问题。你有那个错误的堆栈跟踪吗?也许在./root-reducer

标签: javascript reactjs redux jsx middleware


【解决方案1】:

尝试使用 compose 来编写你的中间件,应该允许你接受至少 1 个参数

import { createStore, compose, applyMiddleware, combineReducers } from "redux";

const middlewares = [logger];
const composedEnhancers = compose(applyMiddleware(...middlewares))
const store = createStore(rootReducer, composedEnhancers);

【讨论】:

    猜你喜欢
    • 2017-12-30
    • 2017-12-06
    • 2019-02-04
    • 2018-11-17
    • 2018-11-10
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    • 2018-03-07
    相关资源
    最近更新 更多