#reactjs #react-router-dom
#reactjs #реагировать-router-dom
Вопрос:
Ошибка: сбой инварианта: вы не должны использовать <withRouter(Connect(App)) /> вне
Вышеуказанная ошибка возникает, когда я оборачиваю свой компонент приложения с помощью withRouter . Эта ошибка возникает, когда я внес следующие изменения,
import {BrowserRouter,Switch,Route,withRouter} from 'react-router-dom';
export default withRouter (connect(null,mapDispatchToProps)(App));
есть какие-либо решения?
Ответ №1:
Вы можете сделать это в отдельных строках
const ReduxApp = connect(null,mapDispatchToProps)(App)
export default withRouter(ReduxApp)
Вам не понадобится withRouter
, если вы передадите реквизиты в Routes
<Route path="/" component={(p) => <Component {...p} {...props}/>} />
Вот p
реквизиты, связанные с маршрутизатором react, и props
это состояние redux
Ответ №2:
Можете ли вы попробовать это
import {BrowserRouter,Switch,Route,withRouter} from 'react-router-dom';
export default connect(null,mapDispatchToProps)(withRouter(App)));