【发布时间】:2017-09-28 23:56:42
【问题描述】:
我一直在尝试将 Redux 集成到我的应用程序中,但在使用 React-Router-Redux 5.0.0-alpha.6 时遇到了问题
我收到错误:“在'react-router-redux'中找不到导出'syncHistoryWithStore'。官方指南说要导入syncHistoryWithStore,我已经这样做了: https://github.com/reactjs/react-router-redux
我还查看了 react-router-redux 包的内部,似乎没有任何 syncHistoryWithStore 的迹象。
我错过了什么?
这是我的 index.js。 Redux 正在运行,但我无法仅使用 ConnectedRouter 推送新路由,显然这是由于 browserHistory 的问题。
import React from 'react';
import { render } from 'react-dom'
import { Provider } from 'react-redux';
import { Route } from 'react-router'
import { ConnectedRouter, routerReducer, routerMiddleware, syncHistoryWithStore, push } from 'react-router-redux'
import createHistory from 'history/createBrowserHistory'
const store = configure();
const history = syncHistoryWithStore(createBrowserHistory(), store);
const navigation = (
<Provider store={store}>
<ConnectedRouter history={history}>
<SystemManager>
<div>
<Route path="/" component={Dashboard}/>
<Route path="/dashboard" component={Dashboard} />
.....
<Route component={NotFound} />
</div>
</SystemManager>
</ConnectedRouter>
</Provider>
);
injectTapEventPlugin();
render(navigation, document.getElementById('app'));
软件包版本:
react-redux: "^5.0.4",
react-router: "^4.1.1",
react-router-dom: "^4.1.1",
react-router-redux: "^5.0.0-alpha.6",
【问题讨论】:
-
你的 react 路由器版本是什么?
-
抱歉,您一发表评论,我就意识到我忘记了该信息。刚刚将其添加到原始帖子中。
-
酷,所以我认为您正在查看当前版本的文档/示例,而不是您正在使用的 alpha,我在这里没有看到任何提及该功能 -> @987654322 @
-
令人困惑,因为 NPM 显示版本为 4.0.8,但它却强行下载 5.0.0。我什至不想要阿尔法。如果 npm 正在下载 alpha,我如何指定获取稳定版本?
-
好吧,我认为您需要 alpha 才能与当前版本的 react 路由器(您正在使用)一起使用。是的,这令人困惑,react 生态系统的发展速度非常快,这意味着有些部分超过了其他部分 :)
标签: reactjs react-router react-redux jsx react-router-redux