gpt4 book ai didi

javascript - React Router (v4) 适用于页面重新加载,但不会通过 触发 UI 事件

转载 作者:行者123 更新时间:2023-12-03 04:06:26 25 4
gpt4 key购买 nike

React Router 在我的 Webpack 开发服务器和热重载器的开发过程中一直工作良好,但在配置生产时似乎失败了。刷新页面时它可以工作,但是 <Link/>组件和推送到 History API 不会导致 UI 发生变化。我的设置如下。哪里render是在本地使用 Webpack 开发服务器和 renderTest 的设置是行不通的。

const render = Component => {
ReactDOM.render(
<MuiThemeProvider muiTheme={Theme}>
<Router>
<AppContainer>
<Provider store={store}>
<Component/>
</Provider>
</AppContainer>
</Router>
</MuiThemeProvider>,
document.getElementById('root')
)
};

const renderTest = Component => {
ReactDOM.render(
<MuiThemeProvider muiTheme={Theme}>
<Router>
<Provider store={store}>
<Component/>
</Provider>
</Router>
</MuiThemeProvider>,
document.getElementById('root')
)
};

//render(Root);
renderTest(Root);

// if (module.hot) {
// module.hot.accept('./containers/root-container/root-container', () => { render(Root) });
// }

最佳答案

好吧我明白了。事实证明,react router (v4) 和 redux 存在一个已知的兼容性问题。 (更多信息在这里:github.com/ReactTraining/react-router/issues/4671)我发现适合我的情况的解决方法是用 withRouter 包装我的根组件,这样位置上下文就会传递到每个组件。这不是一个理想的解决方案,但在官方修复之前它会起作用。

export default withRouter(connect(mapStateToProps)(Root));

关于javascript - React Router (v4) 适用于页面重新加载,但不会通过 <Link/> 触发 UI 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44530771/

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