Reason PowerPlug is a set of reuseable components
and functors
for reason react. This project is inspired by react-powerplug.
module StringList = ReList.Make(String);
<StringList initial=["d", "c", "a", "e", "b", "h", "g"]>
...{
({list, sort, reset}) =>
<div>
<button onClick={_ => sort(String.compare)}>
{ReasonReact.string("sort")}
</button>
<button onClick={_ => reset()}>
{ReasonReact.string("reset")}
</button>
<ul>
{
list
|> List.map(s => <li key=s> {ReasonReact.string(s)} </li>)
|> Array.of_list
|> ReasonReact.array
}
</ul>
</div>
}
</StringList>
Components/Functors
All components and functors base on Value.Make
Functor.
Value
module Number =
Value.Make({
type t = int;
});
<Number initial=1>
...{
({value, set}) =>
<div onClick={_ => set(value => value + 1)}>
{value |> string_of_int |> ReasonReact.string}
</div>
}
</Number>
TODO