Dynamically import multiple Javascript modules – React and ReactDom

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.


Leave a Reply

Your email address will not be published. Required fields are marked *

Home Screencasts Best of Newsletter Search X

📖 50 Javascript, React and NextJs Projects

Hi friend! Before you go, just wanted to let you know about the 50 Javascript, React and NextJs Projects FREE ebook.

One of the best ways to learn is by doing the work. Choose from 8 project categories and get started right away:

  • Business & Real-World
  • Games & Puzzles
  • Fun & Interesting
  • Tools & Libraries
  • Personal & Portfolio
  • Project Add-Ons
  • Productivity
  • Clones

Learn by doing with this FREE ebook! Not sure what to build? Dive in with 50 projects complete with project briefs and wireframes!

Keep building and level up! Get all projects as an ebook right to your inbox!

X