react-router-dom v6版本中的withRouter和Switch已过时

react-router-dom v6版本中的withRouter和Switch已过时,可以退回到v5版本继续使用,或者使用useNavigate()替代withRouter,使用Routes替代Switch。

例如:

const navigate = useNavigate()
navigate('/test') // 跳转到/test
navigate(-1) // 返回上一级
navigate(0, {replace: true})// 强制刷新当前页面并不加入路由历史

<Routes>
  <Route path='/xxx' element={<Xxx/>} />
  ......
</Routes>

注意之前Route组件中的是component={Xxx},改为了element={},否则会显示不出来

最后贴一个react-router-dom v6的api地址 https://reactrouter.com/docs/en/v6/api