«

React使用lazy实现组件懒加载

yang 发布于 阅读:420 react阶段


React组件懒加载

import { HashRouter, Route, Routes } from "react-router-dom";
import React, { lazy, Suspense } from "react";
// 使用懒加载运行组件
const Login = lazy(() => import("./views/login/Login"));
const Index = lazy(() => import("./views/index/Index"));
const Layout = lazy(() => import("./views/index/Layout"));
const Mine = lazy(() => import("./views/mine/Mine"));
const Movie = lazy(() => import("./views/movie/Movie"));
const Map = lazy(() => import("./views/map/Map"));

function App() {
  return (
    // HashRouter为路由器,所以的路由必须放置在路由器中
    <HashRouter>
      <Suspense fallback={<div>Loading...</div>}>
        {/* Routes:线路匹配容器,所有组件切换都应该放置在Routes中 */}
        <Routes>
          {/* Route:匹配具体的组件 */}
          {/* exact是默认时的精准匹配,默认是包含匹配,只要hash包含了此path就会被拦截 */}
          {/* 登录页面 */}
          <Route path="/" exact element={<Login />}></Route>

          {/* 布局页面 */}
          <Route path="/layout" element={<Layout />}>
            {/* 热映 */}
            <Route exact path="/layout/index" element={<Index />}></Route>
            {/* 我的*/}
            <Route path="/layout/mine" element={<Mine />}></Route>
            {/* 影院*/}
            <Route path="/layout/movie" element={<Movie />}></Route>
          </Route>

          {/* 城市 */}
          <Route path="/map" exact element={<Map />}></Route>
        </Routes>
      </Suspense>
    </HashRouter>
  );
}

export default App;

版权所有:微4e
文章标题:React使用lazy实现组件懒加载
除非注明,文章均为 微4e 原创,请勿用于任何商业用途,禁止转载

推荐阅读:


扫描二维码,在手机上阅读
请先 登录 再评论