
提升React应用用户体验:分步加载的妙招
开发React单页应用时,一次性加载所有内容会导致启动缓慢,影响用户体验。 为了优化加载速度,我们可以采用分步加载策略,优先渲染页面关键内容,提升用户感知速度,再逐步加载其余部分。
React提供了React.lazy和React.Suspense两个API来实现分步加载:
-
React.lazy: 用于定义延迟加载组件。 -
React.Suspense: 用于包裹延迟加载组件,并管理加载状态,显示加载指示器。
除了官方API,您还可以参考文章《react丨用户体验丨hook版 lazy loading》了解更多懒加载方案。
具体实现步骤如下:
- 使用
React.lazy定义延迟加载组件:
<code class="javascript">const LazyComponent = React.lazy(() => import('./LazyComponent'));</code>
- 使用
React.Suspense包裹延迟加载组件:
<code class="javascript">const App = () => {
return (
<React.Suspense fallback={<div>加载中...</div>}>
<LazyComponent />
</React.Suspense>
);
};</code>
这样,LazyComponent会在加载完成之后才渲染,在此之前,fallback中的内容(例如“加载中...”)会显示给用户,避免白屏等待。










