dynamicLoader = importComponent =>
  loadable({
    loader: isFunction(importComponent) ? importComponent : () => importComponent, // backwards compatibility,
    // use delayedComponent, as this function can be used when Components is not populated yet
    loading: delayedComponent('DynamicLoading'),
  })
Returns a component that will perform the given dynamic import and render
`Components.DynamicLoading` in the meantime.

@example Register a component with a dynamic import
 registerComponent('MyComponent', dynamicLoader(() => import('./path/to/MyComponent')));

@example Pass a dynamic component to a route
 import { addRoute, dynamicLoader, getDynamicComponent } from 'meteor/vulcan:core';

 addRoute({
   name: 'home',
   path: '/',
   component: dynamicLoader(() => import('./path/to/HomeComponent')),
 });

@param {dynamicLoader~importComponent|Promise<React.Component>} importComponent
 Function where the dynamic import is performed
@return {React.Component}
 Component that will load the dynamic import on mount