当前位置:首页 > 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
分享给朋友:

相关文章

vue实现加载

vue实现加载

Vue 实现加载功能的方法 使用 v-if 或 v-show 控制加载状态 在模板中通过 v-if 或 v-show 控制加载动画的显示与隐藏。v-if 会完全移除 DOM 元素,而 v-show 仅…

react如何更新

react如何更新

更新 React 版本的方法 检查当前 React 版本 运行以下命令查看项目中安装的 React 版本: npm list react 更新 React 及相关依赖 通过 npm 或 yarn…

react 如何debug

react 如何debug

React 调试方法 使用 React Developer Tools React Developer Tools 是浏览器扩展,支持 Chrome 和 Firefox。安装后,可以在开发者工具中查看…

react如何注销

react如何注销

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

odyssey react 如何

odyssey react 如何

Odyssey React 是耐克推出的一款跑鞋系列,以其轻量化设计和React泡沫缓震技术著称。以下是关于该系列鞋款的主要特点和使用建议: 核心特点 React泡沫中底提供出色的能量回馈和缓震效果…

如何监控react性能

如何监控react性能

使用 React Profiler API React 16.5 及以上版本内置了 Profiler API,可直接测量组件渲染时间。通过 <React.Profiler> 包裹目标组件,…