rsnext/examples/with-reasonml-todo/pages/index.re
2019-05-23 16:48:13 -05:00

32 lines
746 B
ReasonML

[@react.component]
let make = (~onServer) => {
<div>
<Header />
<p> {ReasonReact.string("Things todo TODAY!")} </p>
<p> {ReasonReact.string("onServer: " ++ string_of_bool(onServer))} </p>
<TodoList day=TodoApp.Today />
</div>;
};
let default = make;
let getInitialProps = context =>
Js.Promise.make((~resolve, ~reject as _) => {
let onServer =
switch (Js.Nullable.toOption(context##req)) {
| None => false
| Some(_) => true
};
resolve(. {"onServer": onServer});
});
let inject:
(
Js.t('a) => React.element,
{. "req": Js.Nullable.t(Js.t('a))} => Js.Promise.t(Js.t('a))
) =>
unit = [%bs.raw
{| (cls, fn) => cls.getInitialProps = fn |}
];
inject(default, getInitialProps);