bs react admin
1.0.0
反応管理者の BuckleScript バインディング。
?これは WIP であり、まだすべてがサポートされているわけではありません。 ?
不足しているものが見つかった場合は、お気軽に問題または PR を作成してください。
また、多くのタイプは、react-admin を ReasonML プロジェクトで動作させることを目的として過度に寛容です。将来のリリースでは、これらのタイプがさらに厳密になることを願っています。
npm install --save @ctbucha/bs-react-admin
次に@ctbucha/bs-react-admin
bsconfig.json
のbs-dependencies
に追加します。
{ ... "bs-dependencies": ["@ctbucha/bs-react-admin"] }
/* App.re */letコンポーネント = ReasonReact.statelessComponent("App");let myHttpClient = (url, _params) => { let headersDict = Js.Dict.empty(); Js.Dict.set(headersDict, "Accept", "application/json"); ヘッダー = 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 => { ...成分、 render: _self => BsReactAdmin.( <div> <管理データプロバイダー> <リソース名="投稿" リスト=PostList.toReactJs /> </管理者> </div> )、 };
/* PostList.re */let コンポーネント = ReasonReact.statelessComponent("PostList");let make = (props, _children) => { ...成分、 render: _self => BsReactAdmin.( <div> <小道具のリスト> <データグリッド> <TextField ソース = "id" /> <TextField ソース="タイトル" /> <TextField ソース="本文" /> </データグリッド> </リスト> </div> ),};/* React-admin はこれを ReactJS コンポーネントとして処理するため、これを ReasonReact * コンポーネントではなく ReactJS コンポーネントとして Resource に渡す必要があります。 */let toReactJs = ReasonReact.wrapReasonForJs(~component, jsProps => make(jsProps, [||]));