首页 > 解决方案 > Compose Enhanser 不是函数

问题描述

当我运行我的反应应用程序时,它显示此错误:

未捕获的类型错误:composeEnhancers 不是函数

这是我的商店代码

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

import thunk from "redux-thunk";
import logger from "redux-logger";
import rootReduer from "./root-Reducer";
import { persistStore } from "redux-persist";

let middlewares;
let composeEnhancers;
if (process.env.NODE_ENV !== "production") {
  const composeEnhancers =
  window['__REDUX_DEVTOOLS_EXTENSION_COMPOSE__'] || compose;
  middlewares = [thunk, logger];
} else {
  middlewares = [thunk];
  composeEnhancers = compose;
}

// hide action with state in console.log in deplyment app.
export const store = createStore(
  rootReduer,
  composeEnhancers(applyMiddleware(...middlewares))
);

export const persistor = persistStore(store);

我该如何解决这个错误?

标签: reactjs

解决方案


You have re-declared composeEnhancers inside the first if block. Remove the re-declared const before componseEnhancers. The could would look like

if (process.env.NODE_ENV !== "production") {
  composeEnhancers = window['__REDUX_DEVTOOLS_EXTENSION_COMPOSE__'] || compose;
  middlewares = [thunk, logger];
  //... other codes

推荐阅读