React hook for loading data
Using npm:
$ npm install --save react-use-data-loader Using yarn:
$ yarn add react-use-data-loader Since this module uses React's upcoming Hooks feature, to try this out you'll need to install the 16.7.0-alpha.0 version of react and react-dom:
$ yarn add react@16.7.0-alpha.0 react-dom@16.7.0-alpha.0 import React from 'react' import { useDataLoader } from 'react-use-data-loader' async function getData(id) { /* async api call */ return 'item ' + id } function Example({ id }) { const { data, error, loading, retry } = useDataLoader(getData, id) if (loading) { return <div>loading...</div> } if (error) { return <div>Error</div> } return <ViewData data={data} /> } function App() { return <Example id={3} /> }useDataLoader(getData: GetData, ...args: Args) => ({ data: Data | null, error: Error | null, loading: boolean, retry: Retry, }) type GetData = (...args: Args) => Promise<Data> type Retry = () => void