bs react admin
1.0.0
BuckleScript-Bindungen für React-Admin.
? Dies ist ein WIP, es wird noch nicht alles unterstützt. ?
Fühlen Sie sich frei, eine Ausgabe oder PR zu erstellen, wenn Sie feststellen, dass etwas fehlt.
Außerdem sind viele der Typen übermäßig freizügig, um „react-admin“ dazu zu bringen, mit ReasonML-Projekten zu arbeiten. Hoffentlich werden diese Typen in zukünftigen Versionen viel strenger sein.
npm install --save @ctbucha/bs-react-admin
Fügen Sie dann @ctbucha/bs-react-admin zu bs-dependencies in Ihrer bsconfig.json hinzu:
{
...
"bs-dependencies": ["@ctbucha/bs-react-admin"]
} /* App.re */let Component = ReasonReact.statelessComponent("App");let myHttpClient = (url, _params) => { let headersDict = Js.Dict.empty();
Js.Dict.set(headersDict, „Accept“, „application/json“);
let headers =
headersDict |> Fetch.HeadersInit.makeWithDict |> Fetch.Headers.makeWithInit;
BsReactAdmin.FetchUtils.headersSet(params, headers);
BsReactAdmin.FetchUtils.fetchJson(url, params);};let dataProvider =
BsRaDataJsonServer.getRaDataJsonServer(
~apiUrl="http://jsonplaceholder.typicode.com",~httpClient=myHttpClient,(),
);let make = _children => {
...Komponente,
render: _self => BsReactAdmin.(
<div>
<Admin dataProvider>
<Resource name="posts" list=PostList.toReactJs />
</Admin>
</div>
),
}; /* PostList.re */let Component = ReasonReact.statelessComponent("PostList");let make = (props, _children) => {
...Komponente,
render: _self => BsReactAdmin.(
<div>
<Requisiten auflisten>
<Datengitter>
<TextField source="id" />
<TextField source="title" />
<TextField source="body" />
</Datagrid>
</Liste>
</div>
),};/* Dies muss als ReactJS-Komponente anstelle einer ReasonReact *-Komponente an Resource übergeben werden, da React-Admin dies als ReactJS-Komponente behandelt. */let toReactJs =
ReasonReact.wrapReasonForJs(~component, jsProps => make(jsProps, [||]));