如何只在开发环境中使用 redux-devtools

我想只在开发环境中使用 redux-devtools-extensionredux-logger,所以我创建了两个 store ,然后做了一个判断,但是打包后发现这个判断没有效果,redux-devtools-extension 总是能在生产环境中被加载。

我用的时 create-react-app,我在 render 中写了 console.log(process.env.NODE_ENV); 发现生产环境下的环境变量确实是 production,但是为什么会出现这样的情况呢,有没有人遇到过?

import { createStore, applyMiddleware } from "redux";
import logger from "redux-logger";
import thunk from "redux-thunk";
import { composeWithDevTools } from "redux-devtools-extension";
import rootReducer from "../reducers";

const devStore = createStore(
  rootReducer,
  composeWithDevTools(applyMiddleware(thunk, logger))
);

const prodStore = createStore(rootReducer, applyMiddleware(thunk));

let store;

if (process.env.NODE_ENV === "production") {
  store = prodStore;
} else {
  store = devStore;
}

export default store;

比较神奇的是我把 store 的位置互换了,还是得到了跟上面一样的结果,这又是什么情况?

if (process.env.NODE_ENV === "production") {
  store = devStore;
} else {
  store = prodStore;
}
阅读 3.4k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题