reactjs - 如果url无效如何重定向到主页

标签 reactjs redirect react-router-dom

这是我的代码

<Routes>
    <Route path='/' element={<User/>} />
    <Route path='/:userId/places' exact element={<UserPlaces/>} />
    <Route path='/places/new' element={<NewPage/>}/>
    <Route path='/places/:placeId' element={<UpdatePlace/>}></Route>
</Routes>

如果输入的不是这些网址,我想重定向到首页,但不支持使用最新版本的重定向方法。

最佳答案

Navigate 组件有效地取代了旧的 Redirect成分。呈现一个“通配符”路由,该路由将重定向到您的主页路由。

例子:

<Route path="*" element={<Navigate to="/" replace />} />

相当于RRDv5的<Redirect from="*" to="/" />

代码:

import { Routes, Route, Navigate } from 'react-router-dom';

...

<Routes>
  <Route path='/' element={<User />} />
  <Route path='/:userId/places' element={<UserPlaces />} />
  <Route path='/places/new' element={<NewPage />} />
  <Route path='/places/:placeId' element={<UpdatePlace />} />
  <Route path="*" element={<Navigate to="/" replace />} />
</Routes>

关于reactjs - 如果url无效如何重定向到主页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73678425/

相关文章:

reactjs - React 将一个对象传递给路由

javascript - 当我发布到 github 中的自定义域时,React Router 不呈现路径 ='/'

javascript - react Hook : Handling Objects as dependency in useEffects

javascript - 导航菜单事件元素和状态管理问题

php - Magento 客户登录页面在登录后立即再次加载,并且未创建 Frontedn cookie

node.js - 如果用户已登录,则希望重定向该用户

javascript - 如何使用带有私有(private)路由的react-router-dom避免刷新页面时分页?

javascript - 检测链接并在 native react 中返回另一个 View

javascript - 从 React 组件转换为使用 one hooks

redirect - 如果未登录,Joomla 重定向到特定页面