React.lazy和React.Suspense异步加载组件
Posted mengff
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React.lazy和React.Suspense异步加载组件相关的知识,希望对你有一定的参考价值。
在React16.6中引入了React.lazy和React.Suspense,这两个组件,可以用来实现异步加载组件。
例如:
const johanComponent = React.lazy(() => import(/* webpackChunkName: "johanComponent" */ ‘./myAwesome.component‘)); export const johanAsyncComponent = props => ( <React.Suspense fallback={<Spinner />}> <johanComponent {...props} /> </React.Suspense> );
对比react-loadable,React.Suspense还是有一些不足。
1. 加载组件缺少delay参数,不能解决请求快速完成时的"闪烁"问题,需要自己封装
2. 没有内置的加载错误处理方法,需要自己去处理
仍然推荐使用react-loadable来异步加载组件,暂时不用React.Suspense。
参考:https://blog.csdn.net/roamingcode/article/details/85946380
以上是关于React.lazy和React.Suspense异步加载组件的主要内容,如果未能解决你的问题,请参考以下文章
使用 React Suspense 和 React.lazy 子组件进行 Jest/Enzyme 类组件测试
React-router-dom + Suspense:gh-pages 部署中的问题