bs react admin
1.0.0
반응 관리를 위한 BuckleScript 바인딩.
? 이것은 WIP이며 아직 모든 것이 지원되는 것은 아닙니다. ?
누락된 내용이 있으면 언제든지 이슈나 PR을 작성해 주세요.
또한, React-admin이 ReasonML 프로젝트와 함께 작동하도록 하기 위해 많은 유형이 지나치게 허용적입니다. 향후 릴리스에서는 이러한 유형이 훨씬 더 엄격해지기를 바랍니다.
npm install --save @ctbucha/bs-react-admin
그런 다음 bsconfig.json
의 bs-dependencies
에 @ctbucha/bs-react-admin
추가하세요.
{ ... "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, "수락", "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,(), );만들자 = _children => { ...요소, 렌더링: _self => BsReactAdmin.( <div> <관리자 데이터 제공자> <리소스 이름="게시물" 목록=PostList.toReactJs /> </관리자> </div> ), };
/* PostList.re */let 컴포넌트 = ReasonReact.statelessComponent("PostList");let make = (props, _children) => { ...요소, 렌더링: _self => BsReactAdmin.( <div> <목록 소품> <데이터그리드> <TextField 소스="id" /> <TextField 소스="제목" /> <TextField 소스="본체" /> </데이터그리드> </목록> </div> ),};/* React-admin이 이를 ReactJS 구성 요소로 처리하므로 ReasonReact * 구성 요소 대신 ReactJS 구성 요소로 Resource에 전달해야 합니다. */let toReactJs = ReasonReact.wrapReasonForJs(~comComponent, jsProps => make(jsProps, [||]));