Rou*_*fin 7 javascript reactjs react-router react-router-dom
我希望除下面注册的路线之外的所有路线都能将我引导至主页。
例子:
testexample.com/contact
Run Code Online (Sandbox Code Playgroud)
-> 让我返回联系页面
testexample.com/sdlskdsd
-> 路线不存在,返回主页
import {
BrowserRouter,
Routes,
Route
} from 'react-router-dom'
import Footerpage from './components/footerpage/Footerpage';
import Navegation from './components/navegation/Navegation';
import Homepage from './pages/Homepage';
import Contact from './pages/contact/Contact';
import Bookpage from './pages/bookpage/Bookpage';
import Success from './pages/contact/status/Success';
import Error from './pages/contact/status/Error';
function App() {
return (
<BrowserRouter>
<Navegation />
<Routes>
<Route path='/' exact element={<Homepage />} />
<Route path='/contact' exact element={<Contact />} />
<Route path='/contactsuccess' exact element={<Success />} />
<Route path='/contacterr' exact element={<Error />} />
<Route path='/bookpage' exact element={<Bookpage />} />
</Routes>
<Footerpage />
</BrowserRouter>
);
}
export default App;
Run Code Online (Sandbox Code Playgroud)
将未知/未处理的路由重定向到"/"包含Navigate组件的路径。
<Route path="*" element={<Navigate to="/" replace />} />
Run Code Online (Sandbox Code Playgroud)
另外,在 RRDv6 中,所有路由现在始终完全匹配,不再有任何exactprop,因此这些都应该被删除。
完整路线示例:
import {
BrowserRouter,
Routes,
Route,
Navigate
} from 'react-router-dom';
...
<Routes>
<Route path='/' element={<Homepage />} />
<Route path='/contact' element={<Contact />} />
<Route path='/contactsuccess' element={<Success />} />
<Route path='/contacterr' element={<Error />} />
<Route path='/bookpage' element={<Bookpage />} />
<Route path="*" element={<Navigate to="/" replace />} /> // <-- redirect
</Routes>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3604 次 |
| 最近记录: |