当前位置:首页 > React

react中实现懒加载

2026-01-27 18:46:21React

使用 React.lazy 和 Suspense

React 16.6 引入了 React.lazySuspense 来实现组件懒加载。React.lazy 允许动态导入组件,Suspense 用于在加载过程中显示备用内容。

import React, { Suspense } from 'react';

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

function App() {
  return (
    <div>
      <Suspense fallback={<div>Loading...</div>}>
        <LazyComponent />
      </Suspense>
    </div>
  );
}

结合路由实现懒加载

在 React Router 中,可以结合 React.lazy 实现路由级别的懒加载,优化页面加载性能。

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-loadable

react-loadable 是一个流行的库,提供了更灵活的懒加载方案,支持预加载和更复杂的加载状态处理。

react中实现懒加载

import Loadable from 'react-loadable';

const LoadableComponent = Loadable({
  loader: () => import('./LazyComponent'),
  loading: () => <div>Loading...</div>,
});

function App() {
  return <LoadableComponent />;
}

图片懒加载

对于图片资源,可以使用 Intersection Observer API 或第三方库如 react-lazyload 实现懒加载。

import LazyLoad from 'react-lazyload';

function App() {
  return (
    <div>
      <LazyLoad height={200} offset={100}>
        <img src="path/to/image.jpg" alt="Lazy loaded" />
      </LazyLoad>
    </div>
  );
}

动态导入与代码分割

通过动态导入语法 import() 结合 Webpack 的代码分割功能,可以进一步优化懒加载性能。

react中实现懒加载

import('./math').then(math => {
  console.log(math.add(16, 26));
});

注意事项

懒加载可能导致组件加载时的短暂延迟,合理设置 fallback 内容提升用户体验。

确保生产环境构建工具(如 Webpack)支持代码分割,避免打包体积过大。

对于关键路径组件,避免过度使用懒加载,以免影响首屏渲染速度。

标签: 加载react
分享给朋友:

相关文章

如何降低react版本

如何降低react版本

降低 React 项目版本的步骤 检查当前 React 版本 运行以下命令查看项目中安装的 React 当前版本: npm list react 或 yarn list react 修改…

react如何注销

react如何注销

React 组件的注销方法 在 React 中,组件的注销通常指的是在组件卸载时执行清理操作,例如取消订阅、清除定时器或释放资源。以下是几种常见的方法: 使用 useEffect 钩子的清理函数…

jquery加载

jquery加载

jQuery 加载方法 使用 CDN 加载 jQuery 推荐通过公共 CDN(如 Google、Microsoft 或 jQuery 官方)加载,速度快且可能已被浏览器缓存。 <scri…

如何清洁react

如何清洁react

清洁 React 项目的方法 删除未使用的依赖项 运行 npm ls 或 yarn list 检查已安装的依赖项,使用 npm uninstall <package> 或 yarn rem…

如何设计react组件

如何设计react组件

设计 React 组件的核心原则 React 组件的设计需要遵循高内聚、低耦合的原则,确保组件功能独立且易于维护。组件的设计可以分为展示组件和容器组件两类,展示组件负责 UI 渲染,容器组件负责逻辑处…

react如何筛选数据

react如何筛选数据

筛选数据的方法 在React中筛选数据通常涉及对数组的操作,结合状态管理和渲染逻辑。以下是几种常见的实现方式: 使用数组的filter方法 通过JavaScript数组的filter方法筛选数据,并…