bs react admin
1.0.0
Ligações BuckleScript para react-admin.
? Este é um WIP, nem tudo é compatível ainda. ?
Sinta-se à vontade para criar um problema ou PR se encontrar alguma coisa faltando.
Além disso, muitos dos tipos são excessivamente permissivos na tentativa de fazer com que o react-admin trabalhe com projetos ReasonML. Esperançosamente, esses tipos serão muito mais rígidos em versões futuras.
npm install --save @ctbucha/bs-react-admin
Em seguida, adicione @ctbucha/bs-react-admin a bs-dependencies em seu bsconfig.json :
{
...
"bs-dependencies": ["@ctbucha/bs-react-admin"]
} /* App.re */let componente = ReasonReact.statelessComponent("App"); let myHttpClient = (url, _params) => { let headersDict = Js.Dict.empty();
Js.Dict.set(headersDict, "Aceitar", "aplicativo/json");
deixe cabeçalhos =
headersDict |> Fetch.HeadersInit.makeWithDict |> Fetch.Headers.makeWithInit;
BsReactAdmin.FetchUtils.headersSet(parâmetros, cabeçalhos);
BsReactAdmin.FetchUtils.fetchJson(url, params);};deixe dataProvider =
BsRaDataJsonServer.getRaDataJsonServer(
~apiUrl="http://jsonplaceholder.typicode.com",~httpClient=myHttpClient,(),
);deixe fazer = _filhos => {
...componente,
renderizar: _self => BsReactAdmin.(
<div>
<Provedor de dados do administrador>
<Resource name="posts" list=PostList.toReactJs />
</Admin>
</div>
),
}; /* PostList.re */let component = ReasonReact.statelessComponent("PostList");let make = (props, _children) => {
...componente,
renderizar: _self => BsReactAdmin.(
<div>
<Listar adereços>
<Grade de dados>
<TextField fonte = "id" />
<TextField source="título" />
<TextField source="corpo" />
</Datagrid>
</Lista>
</div>
),};/* Precisa passar isso para Resource como um componente ReactJS em vez de um componente ReasonReact *, pois o react-admin trata isso como um componente ReactJS. */let toReactJs =
ReasonReact.wrapReasonForJs(~component, jsProps => make(jsProps, [||]));