Skip to content

Latest commit

 

History

History
36 lines (24 loc) · 2.69 KB

coreAPI.md

File metadata and controls

36 lines (24 loc) · 2.69 KB

Core API

import { Provider, withRequest, Request, Requests } from 'questrar'
Provider component API
Name Type Required Default Description
stateProvider StateProvider yes undefined External storage (redux, mobx) state provider which provides request states and sync request state updates with storage
Request component API
Name Type Required Default Description
id RequestId yes undefined Request id is used to track a request. Request id doesnt need to have a request state. If no request state is found, a default state is represented
inject boolean | (requestProp) => object no false If set as true, the request state would be injected into the single children component as { request: RequestProp }. If set as a function, the function would receive the request state and return a typeof object which would then be added to the underlying component props. If inject function output type is not object, the resulting output would be wrapped as { request: output }
pendOnMount boolean, Node, (requestProp, children) => Node no false Render a loading/pending element immediately when Request component is mounted until requestState is pending or failed or successful. Useful if the underlying component will throw without data. If pendOnMount is set true, it falls back to render pending component. This functionality is different from onPending.
onPending Node, (requestProp, children) => Node no Inbuilt 16px spinner Render a custom loading/pending element when request state is pending.
onFailure Node, (requestProp, children) => Node no children Render a custom failure component when request state is failed.
onSuccess Node, (requestProp, children) => Node no children Render a custom success component when request state is successful.
stateProvider StateProvider no undefined StateProvider prop which overrides the Provider component stateProvider prop for the particular Request component it's provided to.
withRequest options API
Name Type Required Default Description
id string, number, Array< string|number >, (props) => string | number no undefined Request id or list of request ids
mergeIdSources boolean no false Combine id and props.id for request state selection
stateProvider StateProvider no undefined StateProvider prop which overrides the Provider component stateProvider prop for the particular withRequest which it's provided to.