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