React Router V6.9 重定向

React Router V6.9 重定向

因为react 更新,没有Redirect 标签无法使用
Router官方地址:
https://reactrouter.com/en/main
需要重定向,基础代码如下:
配置router.js
配置基础页面路径:

src/router/index.js
import React from 'react'
import {createBrowserRouter} from 'react-router-dom'
import App from '../App'
import Home from '../pages/Home'
import About from '../pages/About'
import NotFound from '../pages/NotFound' //404页面

const router = createBrowserRouter(
    [
        {
            path: '/',
            element: <App/>,
            children: [{
                path: 'home',
                element: <Home/>,
            }, {
                path: 'about',
                element: <About/>,
            }],
        },
        {
            path: '*',
            element: <NotFound/>,
        },
    ],
)

export default router

index.js
将 router 应用至全局:

import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import reportWebVitals from './reportWebVitals';
import router from './router'
import {RouterProvider} from 'react-router-dom'
import { Provider } from 'react-redux'
import store from './store'

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
      <Provider store={store}> //全局状态管理
          <RouterProvider router={router}></RouterProvider> //router应用至全局
      </Provider>
  </React.StrictMode>
);

App页面 重定向页面 path = ‘/home’
Navigate 不能在class类型中使用

import React from 'react'
import {Navigate, Outlet} from 'react-router-dom'
function App() {
    return (
    <div className="App">
        <div >
        //当前页面重定向到home页面
            <Routes>
                <Route path={'/'} element={<Navigate replace to="/home" />} />
            </Routes>
            //二级页面展示位置
            <Outlet></Outlet>
        </div>
    </div>)
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值