react 路由6的配置

方式一:

1.rsf生成函数组件

2.根组件外边包裹一个路由管理组件 (并包裹app)

    import { BrowserRouter,HashRouter } from 'react-router-dom';
          <BrowserRouter>
            <App />
          </BrowserRouter>

3.在app.js中导入路由组件 例如:

import { Route } from 'react-router-dom';

懒加载导入:var Index = lazy(()=>import('@/views/Index'))

4.需要引入Routes组件包裹Route

1.路由六:Routes 路由五:Switch

2.路由重定向:六:Navigate; 五::Redirect

5.二级配置如下:

      <Routes>
        <Route path='/index' element={<Index />} >
             <Route path='/index/home' element={<Home />} />
             <Route path='/index' element={<Navigate to='/index/home'/>} />
             <Route path='*' element={<NotFound />} />
        </Route>
        <Route path='/login' element={<Login />} />
        <Route path='/' element={<Navigate to='/index'/>} />
        <Route path='*' element={<NotFound />} />
      </Routes>

6.在index.jsx中使用: (占位组件)

{/* 路由规则——占位组件 */}

<Outlet />

方式二:

  1. 在router文件夹下面创建一个routes.js文件并配置在导出

        import {Navigate} from 'react-router-dom'   //导入重定向
        import React, { lazy } from 'react';  //懒加载
        // 一级引入
        var Index = lazy(() => import('@/views/Index'))
        // 二级引入
        var Home = lazy(() => import('@/views/Index/Home'))    
    //配置路由表:
    export default [
    {
        path:'/index',
        element:<Index />,
        children:[
            {
                path:'/index/home',
                element:<Home />,
            },
            {
                path:'/index/cation',
                element:<Cation />,
            },
      },
          {
        path:'/',
        element:<Navigate to='/index' />,  // 重定向
    },
    {
        path:'*',
        element:<NotFound />,  // 重定向
    }
    ]

2.在app文件中导入配置路由表:

         import React, { lazy, Suspense } from 'react';  //suspense是loading动画加载
            import { useRoutes } from 'react-router-dom';  //调用路由函数
            import routes from './router/routes'; //导入刚才的配置的路由表并调用
     <Suspense fallback={<div className='loading'><img src="https://hbimg.b0.upaiyun.com/5ac0d375bfb83e892b4884bb1d7e5046d223da2d2bd08-LrjhBO_fw658" alt="" /></div>}>
        {/* // 负责动态生成整个应用程序的路由配置表  */}
        {
          useRoutes(routes)
          
        }
        <Tabbar/>
      </Suspense>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值