使用 Redux chrome 扩展时“找不到商店”

新手上路,请多包涵

我对 redux chrome 扩展有疑问。

我的 configureStore.js 文件中有以下代码:

 import {createStore, applyMiddleware} from 'redux';
import rootReducer from '../reducers/index';
import thunk from 'redux-thunk';

export default function configureStore(initialState){
  return createStore(
    rootReducer,
    initialState,
    applyMiddleware(thunk),
    window.devToolsExtension ? window.devToolsExtension() : f => f
  );
}

我添加了 window.devToolsExtension ? window.devToolsExtension() : f => f 就像在 教程 中一样。

但是当我尝试运行扩展程序时,我得到

在此处输入图像描述

编辑

import 'babel-polyfill';
import React from 'react';
import {render} from 'react-dom';
import {Router, browserHistory} from 'react-router';
import routes from './routes';
import '../node_modules/bootstrap/dist/css/bootstrap.min.css';
import './assets/sass/main.scss';
import '../node_modules/font-awesome/css/font-awesome.css';

import {loadCourses} from './actions/courseActions';
import {loadAuthors} from './actions/authorActions';
import {Provider} from 'react-redux';
import configureStore from './store/configureStore';

const store = configureStore();
store.dispatch(loadCourses());
store.dispatch(loadAuthors());

render(
  <Provider store={store}><Router history={browserHistory} routes={routes}/></Provider>, document.getElementById("app")
);

有什么建议吗?

原文由 Boky 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 317
2 个回答

我从 这里 得到了解决方案。

正确的代码是:

 import {createStore, applyMiddleware, compose} from 'redux';
import rootReducer from '../reducers/index';
import thunk from 'redux-thunk';

export default function configureStore(initialState){
  return createStore(
    rootReducer,
    initialState,
    compose(
      applyMiddleware(thunk),
      window.devToolsExtension ? window.devToolsExtension() : f => f
    )
  );
}

原文由 Boky 发布,翻译遵循 CC BY-SA 3.0 许可协议

好的,只要检查 Redux 开发工具 的官方存储库,我发现他们建议使用 __REDUX_DEVTOOLS_EXTENSION__ 而不是 devToolsExtension 你正在使用。

因此,在更新我的代码并与插件断开连接之后,它开始像魅力一样工作。

这里有一个示例代码,如果它可以帮助任何人:

 const enhancers = compose(
  window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
  );

const store = createStore(
  rootReducer,
  defaultState,
  enhancers
);

原文由 robertovg 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏