https://github.com/lennerd/react-pending-resource
https://github.com/lennerd/react-pending-resource
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/lennerd/react-pending-resource
- Owner: lennerd
- License: mit
- Created: 2020-12-19T18:22:39.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-01-18T14:32:01.000Z (over 5 years ago)
- Last Synced: 2025-07-07T06:45:22.985Z (12 months ago)
- Language: TypeScript
- Size: 1.29 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# React Pending Resource

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
```tsx
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
{post.title}
}
function App() {
return (
);
}
ReactDOM.render(, document.getElementById('root'));
```