reason-reroute
v0.0.4
Published
Tiny wrapper around ReasonReact.Router
Downloads
6
Readme
reroute
a fast, declarative microrouter for reason-react
Getting started
Installation
Open a Terminal in your project's folder and run,
$ yarn add reason-reroute
After installation, you will need to add this library to your bsconfig.json
dependencies
"bs-dependencies": [
"reason-react",
"reason-reroute"
],
Usage
module RouterConfig = {
type route =
| Admin
| Home;
let routeFromUrl = (url: ReasonReact.Router.url) =>
switch url.path {
| ["admin"] => Admin
| [] => Home
};
let routeToUrl = (route: route) =>
switch route {
| Admin => "/admin"
| Home => "/"
};
};
module Router = ReRoute.CreateRouter(RouterConfig);
let component = ReasonReact.statelessComponent("App");
let make = _children => {
...component,
render: _self =>
<Router.Container>
...(
(~currentRoute) =>
switch currentRoute {
| RouterConfig.Admin => <Admin />
| RouterConfig.Home => <Home />
}
)
</Router.Container>
};
API
Sections below are under construction.
Link
Container
Rationale
Credits
The concept of reroute
has been highly influenced by @thangngoc89 and his reference implementation. Thank you for pushing this forward!
License
MIT (c) 2018 Callstack