React和Vue实现路由懒加载的示例代码
懒加载:也叫延迟加载,即在需要的时候进行加载,随用随载。
懒加载的意义:像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,时间过长,会出现长时间的白屏,即使做了loading也是不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时,减少资源的浪费
简单的说就是:进入首页不用一次加载过多资源造成用时过长
在React和Vue中,实现路由懒加载(Lazy Loading)的方法和代码示例如下:
React
在React中,你可以使用React.lazy和Suspense组件来实现路由懒加载。下面是一个简单的示例:
import React, { Suspense } from 'react';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
const Home = React.lazy(() => import('./routes/Home'));
const About = React.lazy(() => import('./routes/About'));
function App() {
return (
<Router>
<Suspense fallback={<div>Loading...</div>}>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
</Switch>
</Suspense>
</Router>
);
}在这个示例中,我们使用React.lazy来动态导入Home和About组件。当用户访问相应的路由时,对应的组件会按需加载。Suspense组件用于在组件加载过程中显示加载提示。
Vue
在Vue中,你可以使用异步组件来实现路由懒加载。下面是一个简单的示例:
import Vue from 'vue';
import Router from 'vue-router';
import Home from './routes/Home';
import About from './routes/About';
Vue.use(Router);
const router = new Router({
routes: [
{ path: '/', component: Home },
{ path: '/about', component: () => import('./routes/About') }
]
});在这个示例中,我们使用动态导入来按需加载组件。在路由定义中,我们将组件设置为一个返回Promise的函数,该Promise解析为对应的组件实例。这样,当用户访问相应的路由时,对应的组件才会被加载。Vue Router会自动处理懒加载逻辑。
到此这篇关于React和Vue实现路由懒加载的示例代码的文章就介绍到这了,更多相关React和Vue路由懒加载内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
vue2 使用@vue/composition-api依赖包 编译、打包各种报错问题分析
由于package.json 文件中 vue、vue-template-compiler 版本号前面 多了个 ^ 导致实际导入时,node_module中的 vue 版本可能被升级为 2.7.x,这篇文章主要介绍了vue2 使用@vue/composition-api依赖包 编译、打包各种报错问题分析,需要的朋友可以参考下2023-01-01
Ant Design Vue全局对话确认框(confirm)的回调不触发
这篇文章主要介绍了Ant Design Vue全局对话确认框(confirm)的回调不触发问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-07-07


最新评论