错误:不变式失败:您不应在<Router>之外使用<withRouter(Connect(App))/>

时间:2020-10-04 04:11:08

标签: reactjs react-router-dom

错误:不变式失败:您不应使用

当我用withRouter包装我的App组件时,发生上述错误。当我进行以下更改时会发生此错误,

import {BrowserRouter,Switch,Route,withRouter} from 'react-router-dom';

export default withRouter (connect(null,mapDispatchToProps)(App));

有什么解决办法吗?

2 个答案:

答案 0 :(得分:1)

您可以在单独的行中完成

const ReduxApp = connect(null,mapDispatchToProps)(App)
export default withRouter(ReduxApp)

如果您在withRouter中传递道具,则不需要Routes

 <Route path="/" component={(p) => <Component {...p} {...props}/>} />

p是与React Router相关的道具,props是redux状态

答案 1 :(得分:0)

你能试试吗

import {BrowserRouter,Switch,Route,withRouter} from 'react-router-dom';

export default connect(null,mapDispatchToProps)(withRouter(App)));