Navigate 无法实现刷新页面后的自动跳转

来源:8-4 添加看板和任务组路由

frych

2021-09-11

你好,请问一下,我使用了 两种方式都没有使得Navigate实现跳转,其中user我已经从上层组件中通过属性引入了,还是不行,不知道是我的代码有问题还是现在Navigate不能使用了?请帮忙看看啊,谢谢

<Main>
   <Router>
     <Routes>
       <Route path={"/projects"} element={<ProjectListScreen />} />
       <Route path={"/projects/:projectId/*"} element={<ProjectScreen />} />
       {user && <Navigate to={"/projects"} replace={true} />}
       {/*<Navigate to={"/projects"} replace={true}/>*/}
     </Routes>
   </Router>
 </Main>
写回答

2回答

qq_落花流水_6

2021-10-01

<Routes>
  <Route path={'/projects'} element={<ProjectListScreen />} />
  <Route path={'/projects/:projectId/*'} element={<Project />} />
  <Route element={<Navigate to={'/projects'} />}/>
</Routes>

这样写就可以,最后一个Route没有path,如果前面的都没有匹配就会匹配最后那个Route

0
0

慕用8523549

2021-09-13

Navigate要写在Routes外面
</Routes>
<Navigate to={'/projects'} />


0
3
慕用8523549
回复
frych
我调试发现,如果navigate放在route里面,在编译时会被过滤掉。 就是浏览器在运行时,根据不会运行Navigate
2021-09-14
共3条回复

React17+Hook+TS4 优质实践,仿 Jira 企业级项目

解锁 React17 高阶用法,轻松应对大型复杂长周期项目

2691 学习 · 1236 问题

查看课程