Luxizzle / react-promise-suspense

A React hook for resolving promises with Suspense support. <1kb bundle.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

usePromise

React hook for resolving promises with Suspense support.

Inspired by fetch-suspense, but this one is not limited to fetch, usePromise works with any Promise.

version minified size minzipped size downloads

Install

  • npm install react-promise-suspense --save

Example

import usePromise from 'react-promise-suspense';

const fetchJson = input => fetch(input).then(res => console.log(res) || res.json());

const MyFetchingComponent = () => {
  // usePromise(Promise, [inputs,],)
  const data = usePromise(fetchJson, [
    'https://pokeapi.co/api/v2/pokemon/ditto/',
    { method: 'GET' },
  ]);

  return <pre>{JSON.stringify(data, null, 2)}</pre>;
};

const App = () => {
  return (
    <Suspense fallback="Loading...">
      <MyFetchingComponent />
    </Suspense>
  );
};

About

A React hook for resolving promises with Suspense support. <1kb bundle.

License:MIT License


Languages

Language:TypeScript 50.1%Language:JavaScript 23.6%Language:HTML 13.4%Language:CSS 12.9%