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, [||]));