React.lazy() 与 React 可加载
React.lazy() vs React Loadable
我使用 react-loadable 一段时间来动态导入我的 React 组件。
在最近的 React 16.6 版本中,React 团队包含了
React.lazy()
也执行动态导入。
仍然使用 react-loadable
包是否有任何好处,或者是时候转移到新的 React 版本了?
否,不应再使用 React Loadable,因为它已不再维护。
它曾经是服务器端渲染时延迟加载的推荐方式,而React.lazy仅适用于客户端。
React 团队现在推荐另一个用于服务器端渲染的库。
Note: React.lazy
and Suspense is not yet available for server-side rendering. If you want to do code-splitting in a server rendered app, we still recommend Loadable Components. It has a nice guide for bundle splitting with server-side rendering.
如果您正在做 SSR
,您将要考虑使用 Loadable
而不是 React.lazy
,正如官方所建议的 React.lazy
docs :
React.lazy and Suspense are not yet available for server-side rendering. If you want to do code-splitting in a server rendered app, we recommend Loadable Components. It has a nice guide for bundle splitting with server-side rendering.
正如上面的回答,react-loadable 没有维护,现在人们会使用@loadable/component。该模块支持多种模式。
这里有一个清晰的比较:
有关详细信息,请查看 here
我使用 react-loadable 一段时间来动态导入我的 React 组件。
在最近的 React 16.6 版本中,React 团队包含了
React.lazy()
也执行动态导入。
仍然使用 react-loadable
包是否有任何好处,或者是时候转移到新的 React 版本了?
否,不应再使用 React Loadable,因为它已不再维护。
它曾经是服务器端渲染时延迟加载的推荐方式,而React.lazy仅适用于客户端。
React 团队现在推荐另一个用于服务器端渲染的库。
Note:
React.lazy
and Suspense is not yet available for server-side rendering. If you want to do code-splitting in a server rendered app, we still recommend Loadable Components. It has a nice guide for bundle splitting with server-side rendering.
如果您正在做 SSR
,您将要考虑使用 Loadable
而不是 React.lazy
,正如官方所建议的 React.lazy
docs :
React.lazy and Suspense are not yet available for server-side rendering. If you want to do code-splitting in a server rendered app, we recommend Loadable Components. It has a nice guide for bundle splitting with server-side rendering.
正如上面的回答,react-loadable 没有维护,现在人们会使用@loadable/component。该模块支持多种模式。
这里有一个清晰的比较: