'React.lazy() vs React Loadable
I was using react-loadable for some time for dynamic imports of my React components.
In the recent React release 16.6, the React team has included
React.lazy()
which also does a dynamic import.
Is there any benefit in using the react-loadable
package still, or is it time to move to the new React version?
Solution 1:[1]
No, React Loadable should not be used anymore, because it is not being maintained.
It used to be the recommended way for lazy loading when rendering on the server side, while React.lazy only works on the client side.
The React team now recommends another library for server side rendering.
Quote from the React documentation:
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.
Solution 2:[2]
If you're doing SSR
you'll want to consider using Loadable
instead of React.lazy
, as suggested by the official 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.
Solution 3:[3]
As answered above, react-loadable is not maintained, now people would use @loadable/component. The module support various pattern.
Here is a clear Comparison:
For more detail, check here
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | Mateja Petrovic |
Solution 3 | paulwen |