gpt4 book ai didi

javascript - 通用还原: browserhistory error: cannot read property 'listen' of undefined

转载 作者:太空宇宙 更新时间:2023-11-03 22:29:20 26 4
gpt4 key购买 nike

我正在尝试使用express.js服务器为我的react-redux应用程序实现通用渲染,我正在遵循以下教程:http://redux.js.org/docs/recipes/ServerRendering.html

每当我尝试将 rootreducer 或 App 文件导入到 Express server.js 文件中时,如教程中所述,我都会收到以下错误:

\node_modules\react-router-redux\lib\sync.js:105
unsubscribeFromHistory = history.listen(handleLocationChange);
^
TypeError: Cannot read property 'listen' of undefined
at syncHistoryWithStore (C:\Users\user pc\Desktop\citydrill\node_modules\react-router-redux\lib\sync.js:105:35)

这是我的商店文件相关代码:

import { syncHistoryWithStore } from 'react-router-redux';
import { browserHistory } from 'react-router';

const store = createStore(rootReducer, initialState, compose(
applyMiddleware(thunk)
));

export const history = syncHistoryWithStore(browserHistory, store);

然后我只是在 clientApp 中使用历史常量,如下所示:

const router = (
<Provider store={store}>
<Router history={history}>
<Route name="Home" path="/" component={App}>
<IndexRoute name="Home" component={Landing}></IndexRoute>
</Route>
</Router>
</Provider>

)

除了 redux.js.org 中的教程之外,我也尝试了很多不同的教程,但我总是陷入这一点,因为我总是必须从我的 Express server.js 文件中的客户端代码导入一些文件,并且每当我这样做总是会得到同样的错误。

如何实现通用 redux?我究竟做错了什么?我遵循了很多教程,但没有一个提到这个错误,为什么它对这些人有效,但在我的应用程序中却不起作用?

感谢您的帮助

最佳答案

您不能在服务器端使用browserHistory,因为名称表明它适用于浏览器。使用memoryHistory代替:

https://github.com/ReactTraining/react-router/blob/master/docs/guides/Histories.md

关于javascript - 通用还原: browserhistory error: cannot read property 'listen' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39944254/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com