useRoutes与React.lazy的使用

注意react-router-dom的版本6.3.0 和reac版本18.0.0
routeConfig.js

import React from 'react';
const Dashboard = React.lazy(() => import('../components/Dashboard'));
const DashboardMessages = React.lazy(() => import('../components/DashboardMessages'));
const DashboardTasks = React.lazy(() => import('../components/DashboardTasks'));
const AboutPage = React.lazy(() => import('../components/AboutPage'));


  let  routeConfig = [
    {
      path: "/",
      element: <Dashboard />,
      children: [
        {
          path: "messages",
          element: <DashboardMessages />,
        },
        { path: "tasks", element: <DashboardTasks /> },
      ],
    },
    { path: "team", element: <AboutPage /> },
  ];


export default RrouteConfig

App.js

import routeConfig from './routeConfig.js'
import { Spin } from 'antd';
import React from 'react';
import {
  useRoutes
} from 'react-router-dom';
const Routes = () => {
  const elements = useRoutes(routeConfig);

  return elements;
}
const App =  () => {
  return (
    <div>
      <React.Suspense  fallback={<Spin />}>
      <Components />
    </React.Suspense>
    </div>
  );
};
export default App;

参考
https://reactrouter.com/docs/en/v6/hooks/use-routes
https://stackoverflow.com/questions/65880299/lazy-loading-with-react-router-v6-beta

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值