I've written a short tip about how to import a Javascript module only when needed to improve performance. But very often there is the case when we want to dynamically import multiple modules, given that one module can't be used without the other.
Take for example React and ReactDom.
In a case like this, we can use the Promise.all, and pass it an array with the desired imports. The callback function will be called only when all the modules have finished loading.
Promise.all([
import('https://cdn.skypack.dev/react-dom'),
import('https://cdn.skypack.dev/react')
])
.then(([ReactDOM, React]) => {
createReactButton(React, ReactDOM);
});
Below is a fully working test codepen:
See the Pen
dynamically import - mutiple by JS Craft (@js-craft)
on CodePen.
📖 50 Javascript, React and NextJs Projects
Learn by doing with this FREE ebook! Not sure what to build? Dive in with 50 projects with project briefs and wireframes! Choose from 8 project categories and get started right away.
📖 50 Javascript, React and NextJs Projects
Learn by doing with this FREE ebook! Not sure what to build? Dive in with 50 projects with project briefs and wireframes! Choose from 8 project categories and get started right away.