reactjs - 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);
我该如何解决这个错误?
解决方案
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
推荐阅读
- c++ - 致命错误 C1083:无法打开包含文件:'GL/glew.h':没有这样的文件或目录
- c++ - C++17无匹配函数调用以减少错误
- mysql - 如何根据返回的行选择多个列?
- vue.js - vue.js v-for 从 2 个不同的列表中更改
- java - Jetty 9 + Spring Boot - 由于缺少 ServletWebServerFactory bean,无法启动 ServletWebServerApplicationContext
- css - 如何更改 Semantic UI React Dropdown 的边框颜色?
- java - 如何使用命令提示符在两个 jar 文件之间创建管道?
- c++ - 如何使用 boost/operators.hpp 自动生成 == 运算符?
- android - 我在加载插页式广告时不断收到此错误
- javascript - 如何声明对现有命名空间的引用,该命名空间可在运行时从 JavaScript 包中获得