4

ここのガイドに従いました: https://redux-observable.js.org/docs/basics/SettingUpTheMiddleware.html (セクション: Redux DevTools)

ストアは次のように構成されます。

// @flow

import { createStore, compose, applyMiddleware } from 'redux';
import { createEpicMiddleware } from 'redux-observable';
import { createReducer } from './reducer';
import { epic } from './epic';

const initialState = {};

const configureStore = () => {
  const epicMiddleware = createEpicMiddleware(epic);
  const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
  const enhancers = composeEnhancers(applyMiddleware(epicMiddleware));
  const store = createStore(createReducer(), initialState, enhancers);
  return store;
};

export { configureStore };

ただし、React アプリケーション (CRA でブートストラップ) は、Redux Devtools 拡張機能がインストールされていないと機能しません。

誰かが私が間違っていることを教えてもらえますか?

拡張子が見つからない場合のエラーログ: https://pastebin.com/qzcbXCYQ

編集:私はばかです。ストアは 2 つのファイルで定義されていましたが、インポート元のファイルを変更していませんでした。重複をクリーンアップし、期待どおりに機能しています。

4

4 に答える 4

2

同様の問題が発生していました。1行を微調整する必要がありました。私はこれから行きました:

const composeEnhancers = !__PROD__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : compose

これに:

const composeEnhancers = !__PROD__ ? (window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose) : compose

私の場合、__PROD__変数を使用できますが、状況に合わせて調整してください。ロジックはそのままです。

于 2018-11-13T11:00:01.893 に答える