3

react-boilerplateに統合しようとしてkepler.glいます。

このようにアプリのレデューサーに kepler.gl レデューサーをマウントします

export default function createReducer(injectedReducers = {}) {
  const rootReducer = combineReducers({
    keplerGl: keplerGlReducer,  // mount kepler.gl reducer
    global: globalReducer,
    language: languageProviderReducer,
    ...injectedReducers,
  });

  // Wrap the root reducer and return a new root reducer with router state
  const mergeWithRouterState = connectRouter(history);
  return mergeWithRouterState(rootReducer);
}

ストアの作成部分では、

  const middlewares = [
    sagaMiddleware,
    taskMiddleware,
    routerMiddleware(history),
  ];

  const enhancers = [applyMiddleware(...middlewares)];

  const store = createStore(
    createReducer(),
    fromJS(initialState),
    composeEnhancers(...enhancers),
  );

アプリを実行すると、コンソールから赤いテキストが表示されます。

kepler.gl の状態は存在しません。ルート レデューサーに keplerGlReducer をマウントするのを忘れている可能性があります。デフォルトで state.keplerGl としてマウントされていない場合は、getState を prop として提供する必要があります。

マップはページに表示されませんが、このように redux DevTools から keplerGl の状態を確認できます。

ここに画像の説明を入力

この問題を解決する方法を提案できますか? ありがとうございました!

4

1 に答える 1