bs react admin
1.0.0
Liaisons BuckleScript pour React-admin.
? Il s'agit d'un WIP, tout n'est pas encore pris en charge. ?
N'hésitez pas à créer un problème ou un PR si vous constatez qu'il manque quelque chose.
En outre, de nombreux types sont trop permissifs dans le but de simplement faire travailler React-Admin avec les projets ReasonML. Espérons que ces types seront beaucoup plus stricts dans les prochaines versions.
npm install --save @ctbucha/bs-react-admin
Ajoutez ensuite @ctbucha/bs-react-admin
aux bs-dependencies
dans votre bsconfig.json
:
{ ... "bs-dependencies": ["@ctbucha/bs-react-admin"] }
/* App.re */let composant = ReasonReact.statelessComponent("App");let myHttpClient = (url, _params) => { let headersDict = Js.Dict.empty(); Js.Dict.set(headersDict, "Accepter", "application/json"); laissez les en-têtes = headersDict |> Fetch.HeadersInit.makeWithDict |> Fetch.Headers.makeWithInit; BsReactAdmin.FetchUtils.headersSet(params, en-têtes); BsReactAdmin.FetchUtils.fetchJson(url, params);};let dataProvider = BsRaDataJsonServer.getRaDataJsonServer( ~apiUrl="http://jsonplaceholder.typicode.com",~httpClient=myHttpClient,(), );laissez make = _children => { ...composant, rendu : _self => BsReactAdmin.( <div> <Fournisseur de données administrateur> <Resource name="posts" list=PostList.toReactJs /> </Administrateur> </div> ), } ;
/* PostList.re */let composant = ReasonReact.statelessComponent("PostList");let make = (props, _children) => { ...composant, rendu : _self => BsReactAdmin.( <div> <Liste des accessoires> <Grille de données> <TextField source="id" /> <TextField source="titre" /> <TextField source="corps" /> </Grille de données> </Liste> </div> ),};/* Besoin de transmettre ceci à Resource en tant que composant ReactJS au lieu d'un composant ReasonReact * car React-admin gère cela comme un composant ReactJS. */let toReactJs = ReasonReact.wrapReasonForJs(~component, jsProps => make(jsProps, [||]));