-
预先准备两个路由组件(Home组件和About组件)
javascriptimport React, { Component } from 'react export default class About extends Component { render() { return ( <div> about组件 </div> ) } }javascriptimport React, { Component } from 'react' export default class Home extends Component { render() { return ( <div> home组件 </div> ) } } -
准备一个普通组件(Loading组件)
javascriptimport React, { Component } from 'react' export default class Loading extends Component { render() { return ( <div> Loading... </div> ) } } -
同文件夹下新建index.jsx文件
javascriptimport React, { Component, Suspense, lazy } from 'react' import { NavLink,Route} from 'react-router-dom' import Loading from './Loading' // 1.通过React的lazy函数配合import()函数动态加载路由组件 ===> 路由组件代码会被分开打包 const Home = lazy(()=> import('./Home')) const About = lazy(()=> import('./About')) export default class lazyLoad extends Component { render() { return ( <div> <NavLink to='/home'>Home</NavLink> <NavLink to='/about'>About</NavLink> {/* 2.通过 <Suspense> 指定在加载得到路由打包文件前显示一个自定义loading界面 */} <Suspense fallback={<Loading/>}> <Route path='/home' component={Home}></Route> <Route path='/about' component={About}></Route> </Suspense> </div> ) } }网速较慢时,可以看到loading组件效果。
react路由组件的lazyLoad
种草小幺儿.2023-11-09 15:08
相关推荐
哆啦A梦15885 小时前
商城后台管理系统 03 登录布局曼巴UE55 小时前
UE FString, FName ,FText 三者转换,再次学习,官方文档理解selt7916 小时前
Redisson之RedissonLock源码完全解析行走的陀螺仪6 小时前
高级前端 Input 公共组件设计方案(Vue3 + TypeScript)一颗不甘坠落的流星7 小时前
【Antd】基于 Upload 组件,导入Json文件并转换为Json数据LYFlied7 小时前
Vue2 与 Vue3 虚拟DOM更新原理深度解析Lucky_Turtle7 小时前
【Node】npm install报错npm error Cannot read properties of null (reading ‘matches‘)小飞侠在吗7 小时前
vue shallowRef 与 shallowReacitive惜分飞8 小时前
sql server 事务日志备份异常恢复案例---惜分飞