let component = ReasonReact.statelessComponent("Index"); let make = (~onServer, _children) => { ...component, render: _self =>

{ReasonReact.string("HOME PAGE is here!")}
{ReasonReact.string("onServer: " ++ string_of_bool(onServer))}

, }; let default = ReasonReact.wrapReasonForJs(~component, jsProps => make(~onServer=jsProps##onServer, [||])); /* The way to do getInitialProps: https://github.com/zeit/next.js/issues/4202#issuecomment-439175214 */ let getInitialProps = context => Js.Promise.make((~resolve, ~reject as _) => { let onServer = switch (Js.Nullable.toOption(context##req)) { | None => false | Some(_) => true }; resolve(. {"onServer": onServer}); }); /* In 7.0.2 canary, you must remove the Js.Promise.make wrapper */ /* let getInitialProps = context => { let onServer = switch (Js.Nullable.toOption(context##req)) { | None => false | Some(_) => true }; {"onServer": onServer}; }; */ let inject = [%bs.raw {| (cls, fn) => cls.getInitialProps = fn |}]; inject(default, getInitialProps);