react-pending-resource
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

React Pending Resource

CI Status

React Pending Resource is a small library of hooks for handling promises (for example when fetching data asynchronously). Though feature complete it is still in beta and not fully battle tested yet. A dedicated page with more information, examples and documentation coming soon.

Why another async hook library for React?

  • Powerful caching by using serializable resource keys
  • Easy refetching of resources by using resource keys and more complex dependencies if needed
  • Easy preloading of resources for better performance
  • Built around stable Suspense features (without using experimental APIs)
  • Easy deferring of rendering suspense fallbacks like loading spinners

This library cannot be used in components rendered on the server, as React Suspense does not support server side rendering yet.

Example

import React from 'react';
import ReactDOM from 'react-dom';
import { usePromise } from 'react-pending-resource';

async function fetchPost(id) {
  // … fetch a post by id
}

function BlogPost({ id }) {
  const post = usePromise(id, () => fetchPost(id));

  return <div>{post.title}</div>
}

function App() {
  return (
    <React.Suspense fallback="Loading …">
      <BlogPost id={1} />
    </React.Suspense>
  );
}

ReactDOM.render(<App />, document.getElementById('root'));

Readme

Keywords

none

Package Sidebar

Install

npm i react-pending-resource

Weekly Downloads

2

Version

1.0.0

License

MIT

Unpacked Size

164 kB

Total Files

46

Last publish

Collaborators

  • lennerd