Skip to content

Instantly share code, notes, and snippets.

@mhallin
Created August 6, 2018 11:45
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save mhallin/4c0bdb1baa2e90119ed827e444f37488 to your computer and use it in GitHub Desktop.
Save mhallin/4c0bdb1baa2e90119ed827e444f37488 to your computer and use it in GitHub Desktop.
Async import pattern
PageModule.fetchModule("./MyComponent")
|> Js.Promise.then_(m => send(SetRootElement(m())));
let component = ReasonReact.statelessComponent("MyComponent");
let make = (_) => {
...component,
render: (_) => <div />
};
let make = () => make([||]);
include PageModule.M;
module type M = {
let make: unit => ReasonReact.reactElement;
};
type m = Js.t({ . make: unit => ReasonReact.reactElement });
[@bs.val] external fetchModule: string => Js.Promise.t(m) = "import";
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment