bs react admin
1.0.0
Привязки BuckleScript для реагирования-администратора.
? Это WIP, пока не все поддерживается. ?
Не стесняйтесь создавать проблему или пиариться, если вы обнаружите, что чего-то не хватает.
Кроме того, многие типы слишком либеральны в попытке просто заставить реагирование администратора работать с проектами ReasonML. Будем надеяться, что в будущих выпусках эти типы будут намного более строгими.
npm install --save @ctbucha/bs-react-admin
Затем добавьте @ctbucha/bs-react-admin в bs-dependencies в вашем bsconfig.json :
{
...
"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, «Принять», «приложение/json»);
пусть заголовки =
headersDict |> Fetch.HeadersInit.makeWithDict |> Fetch.Headers.makeWithInit;
BsReactAdmin.FetchUtils.headersSet(параметры, заголовки);
BsReactAdmin.FetchUtils.fetchJson(url, params);};let dataProvider =
BsRaDataJsonServer.getRaDataJsonServer(
~apiUrl="http://jsonplaceholder.typicode.com",~httpClient=myHttpClient,(),
);let make = _children => {
... компонент,
рендеринг: _self => BsReactAdmin.(
<дел>
<Поставщик данных администратора>
<Resource name="posts" list=PostList.toReactJs />
</Админ>
</div>
),
}; /* PostList.re */let компонент = ReasonReact.statelessComponent("PostList");let make = (props, _children) => {
... компонент,
рендеринг: _self => BsReactAdmin.(
<дел>
<Список реквизита>
<Сетка данных>
<TextField source="id" />
<TextField source="title" />
<TextField source="body" />
</Сетка данных>
</Список>
</div>
),};/* Необходимо передать это в Resource как компонент ReactJS вместо компонента ReasonReact *, поскольку React-admin обрабатывает это как компонент ReactJS. */let toReactJs =
ReasonReact.wrapReasonForJs(~компонент, jsProps => make(jsProps, [||]));