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