0.0
如果没有使用懒加载时,页面的第一次加载就会把所有组件都加载到缓存中—导航栏中的每一个,设置了路由跳转但是还没有点击跳转的组件都要使用缓存加载。当数量过多时,就势必会影响首页的加载速度,带来不好的用户体验,这时就可以通过懒加载来解决这个问题。
使用
引入lazy
需要引入 react 中的一个 lazy 函数import React, { Component,lazy } from 'react'
lazy 是一个 高阶函数,即他的参数要传入一个函数。
使用 lazy
// import Home from './Home'
// import About from './About'
const Home = lazy(() => import("./Home"));
const About = lazy(() => import("./About"));
此时就会让导航栏的两个组件实行懒加载,但此时仍未能够使用,会报错。
引入 Suspense
还要引入一个 suspense import React, { Component,lazy,Suspense } from 'react'
使用 Suspense
import Loading from "./Loading";
...
{/* <Suspense fallback={<h1>Loading...</h1>}> */}
<Suspense fallback={<Loading/>}>
{/* 注册路由 */}
<Route path="/about" component={About} />
<Route path="/home" component={Home} />
</Suspense>
使用 Suspense 标签将注册的路由包裹住,且在其中传入一个参数—一个虚拟DOM或是一个组件。
因为使用懒加载后,各个组件是在点击之后才开始加载的。当网速状况较差或是什么情况导致网页加载速度过慢,总不能给用户看一个空白页半天吧,会出现这个给用户看以提高用户体验。这个Loading组件则必须要是正常引入而不能是懒加载引入。原因也不用我过多解释了吧。
效果
现在就能愉快地使用懒加载了~
在浏览器的开发者工具中设置网速更易看到效果哦