网站地图    收藏   

主页 > 前端 > react >

react使用组件懒加载lazy

来源:未知    时间:2024-05-12 21:11 作者:小飞侠 阅读:

[导读] 我们通常使用react路由都类似下面代码,这样做适合轻量级网页,因为它默认情况下react组件都会打包到bundle下, 但是一般用于后置的组件[异步]不需要首次加载,这时候就用到了组件懒...

我们通常使用react路由都类似下面代码,这样做适合轻量级网页,因为它默认情况下react组件都会打包到bundle下,

但是一般用于后置的组件[异步]不需要首次加载,这时候就用到了组件懒加载。

普通路由组件

import React, { lazy, Suspense} from 'react'
import { BrowserRouter as Router, Link, Route, Routes } from 'react-router-dom'
import Home from './page/Home'
import List from './page/List'
export default function App() {
return (
<>
<header>header</header>
<Router>
<Link to="/">首页</Link>
<Link to="/list">列表</Link>
<Routes>
<Route path='/' element={<Home />} ></Route>
<Route path='/list' element={<List />} ></Route>
</Routes>
</Router>
<footer>footer</footer>
</>
)
}

image.png

经过lazy优化后

会把每个组件异步加载

import React, { lazy, Suspense} from 'react'
import { BrowserRouter as Router, Link, Route, Routes } from 'react-router-dom'
// import Home from './page/Home'
// import List from './page/List'

const Home = lazy(() =>  import(/*webpackChunkName: "Home"*/'./page/Home') )
const List = lazy(() =>  import(/*webpackChunkName: "List"*/'./page/List') )
export default function App() {
  return (
    <>
    <header>header</header>
    <Router>
        <Link to="/">首页</Link>
        <Link to="/list">列表</Link>
        <Suspense fallback={<div>loading...</div>}>
            <Routes>
            <Route path='/' element={<Home />} ></Route>
            <Route path='/list' element={<List />} ></Route>
            </Routes>
        </Suspense>
    </Router>
    <footer>footer</footer>
    </>
  )
}

image.png

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论