React和Vue实现路由懒加载

React实现路由懒加载: React官方提供了React.lazy()函数来实现路由的懒加载。使用React.lazy()函数需要配合React的Suspense组件来使用。

  1. 首先,使用React.lazy()函数动态导入组件,例如:

    const Home = React.lazy(() => import('./Home'));
    const About = React.lazy(() => import('./About'));

这样,在需要使用这些组件的地方,可以像使用普通组件一样使用它们。

  1. 在路由配置中,使用React.lazy()返回的组件作为路由组件的值,例如:

    <Route path="/home" component={Home} /> <Route path="/about" component={About} />
  2. 最后,在根组件中,使用Suspense组件来包裹需要懒加载的路由组件,例如:

    import React, { Suspense } from 'react';

    function App() {
    return (


    <Suspense fallback={
    Loading...
    }>
    <Router>
    {/* 路由配置 */}
    </Router>
    </Suspense>

    );
    }

    export default App;

在Suspense组件中,可以设置fallback属性来指定在组件加载完成前显示的loading状态。

Vue实现路由懒加载: Vue官方提供了Vue异步组件特性来实现路由的懒加载。使用Vue异步组件特性需要使用Vue的工厂函数(Vue.extend())来动态创建组件。

  1. 首先,创建一个异步函数来动态导入组件,例如:

    const Home = () => import('./Home');
    const About = () => import('./About');

这样,在需要使用这些组件的地方,可以像使用普通组件一样使用它们。

  1. 在路由配置中,使用Vue异步组件作为路由组件的值,例如:

    const routes = [
    { path: '/home', component: Home },
    { path: '/about', component: About },
    ]

  2. 最后,在创建Vue实例时,使用工厂函数(Vue.extend())来创建路由组件,例如:

    import Vue from 'vue';
    import VueRouter from 'vue-router';

    Vue.use(VueRouter);

    const router = new VueRouter({
    routes
    });

    new Vue({
    router,
    render: h => h(App)
    }).$mount('#app');

这样,路由组件将会在访问对应路由时进行懒加载。

相关推荐
东东5161 小时前
基于ssm的网上房屋中介管理系统vue
前端·javascript·vue.js
harrain2 小时前
什么!vue3.4开始,v-model不能用在prop上
前端·javascript·vue.js
阿蒙Amon7 小时前
TypeScript学习-第7章:泛型(Generic)
javascript·学习·typescript
睡美人的小仙女1277 小时前
Threejs加载环境贴图报错Bad File Format: bad initial token
开发语言·javascript·redis
fanruitian7 小时前
uniapp android开发 测试板本与发行版本
前端·javascript·uni-app
摘星编程8 小时前
React Native + OpenHarmony:Timeline垂直时间轴
javascript·react native·react.js
2501_944525549 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 支出分析页面
android·开发语言·前端·javascript·flutter
jin12332210 小时前
React Native鸿蒙跨平台完成剧本杀组队详情页面,可以复用桌游、团建、赛事等各类组队详情页开发
javascript·react native·react.js·ecmascript·harmonyos
经年未远11 小时前
vue3中实现耳机和扬声器切换方案
javascript·学习·vue
刘一说11 小时前
Vue 组件不必要的重新渲染问题解析:为什么子组件总在“无故”刷新?
前端·javascript·vue.js