当使用终极版,可观察到有反应的路由器,这将是有意义的异步的文档中添加新的史诗按照指示在这里发生反应,路由器的OnEnter挂钩期间内路由变化?
./epics/index.js
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { combineEpics } from 'redux-observable';
import { epic1 } from './epic1'
import { epic2 } from './epic2'
export const epic$ = new BehaviorSubject(combineEpics(epic1, epic2));
export const rootEpic = (action$, store) =>
epic$.mergeMap(epic =>
epic(action$, store)
);
export {
rootEpic
};
Run Code Online (Sandbox Code Playgroud)
...路线/ SomePath/index.js
import { epic$ } from './../../../../epics/index'
import { epic3 } from './../../../../epics/epic3'
module.exports = {
path: 'some-path',
getComponent( location, cb ) {
require.ensure( [], ( require ) …Run Code Online (Sandbox Code Playgroud) 我正在深入研究 React with Redux 来重写我们的产品。\n使用 Redux-Toolkit https://redux-toolkit.js.org/清除了围绕 Redux 的很多迷雾。\n然后我发现 React-Router 做了状态管理混乱,在 redux-first-router https://github.com/faceyspacey/redux-first-router中找到了解决方案。
\n\n现在我想把这些优秀的库结合起来。但我认为我在配置中做错了什么。\n这是代码。从https://codesandbox.io/s/m76zjj924j的沙箱示例开始,我将 configureStore.js 文件更改为(为简单起见,我省略了用户减速器的代码)
\n\nimport { connectRoutes } from \'redux-first-router\';\nimport { configureStore, getDefaultMiddleware } from \'@reduxjs/toolkit\'\nimport { routePaths } from \'../routes\';\n\nconst { reducer: location } = connectRoutes(routePaths);\n\nconst {\n middleware: routerMiddleware,\n enhancer: routerEnhancer,\n initialDispatch\n } = connectRoutes(routePaths, { initialDispatch: false });\n\nexport default function configureRouteStore() {\n const store = configureStore({\n reducer: {\n\n location: location\n },\n middleware: [...getDefaultMiddleware(), routerMiddleware],\n enhancers: (defaultEnhancers) => [routerEnhancer, ...defaultEnhancers]\n })\n …Run Code Online (Sandbox Code Playgroud) react-router版本: "react-router": "^3.0.0",历史记录版本:"history": "^4.3.0",
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { createStore, applyMiddleware, compose } from 'redux';
import { Router, browserHistory } from 'react-router';
import { reduxReactRouter, routerStateReducer, ReduxRouter } from 'redux-router';
import reduxThunk from 'redux-thunk';
import { createHistory } from 'history';
import rootReducer from './core/rootReducer';
import routes from './core/routes';
import * as axios from './utils/axios.js';
import { AUTH_USER } from './authentication/types';
const store = …Run Code Online (Sandbox Code Playgroud)