关于 Suspense 的使用,先来看下示例代码
const OtherComponent = React.lazy(() => import('./OtherComponent'));
function MyComponent() {
return (
<div>
<Suspense fallback={<div>Loading...</div>}>
<OtherComponent />
</Suspense>
</div>
);
}
OtherComponent
是通过懒加载加载进来的,所以渲染页面的时候可能会有延迟,但使用了Suspense
之后,可优化交互。在
<OtherComponent />
外面使用Suspense
标签,并在fallback
中声明OtherComponent
加载完成前做的事,即可优化整个页面的交互
fallback
属性接受任何在组件加载过程中你想展示的 React 元素。你可以将Suspense
组件置于懒加载组件之上的任何位置。你甚至可以用一个Suspense
组件包裹多个懒加载组件。
const OtherComponent = React.lazy(() => import('./OtherComponent'));
const AnotherComponent = React.lazy(() => import('./AnotherComponent'));
function MyComponent() {
return (
<div>
<Suspense fallback={<div>Loading...</div>}>
<section>
<OtherComponent />
<AnotherComponent />
</section>
</Suspense>
</div>
);
}