/react-async

🍾 Flexible promise-based React data loader

Primary LanguageJavaScriptISC LicenseISC

React Async
Handle promises with ease.


latest version montly downloads minzipped size license
circleci status travis status code coverage code quality DeepScan grade
live examples Chromatic All Contributors

React component and hook for declarative promise resolution and data fetching. Makes it easy to handle every state of the asynchronous process, without assumptions about the shape of your data or the type of request. Use it with fetch, Axios or other data fetching libraries, even GraphQL.

  • Zero dependencies
  • Works with promises, async/await and the Fetch API
  • Now with experimental Suspense support
  • Choose between Render Props, Context-based helper components or the useAsync and useFetch hooks
  • Debug and develop every part of the loading sequence with the React Async DevTools
  • Provides convenient isPending, startedAt, finishedAt, et al metadata
  • Provides cancel and reload actions
  • Automatic re-run using watch or watchFn prop
  • Accepts onResolve, onReject and onCancel callbacks
  • Supports abortable fetch by providing an AbortController
  • Supports optimistic updates using setData
  • Supports server-side rendering through initialValue
  • Written in TypeScript, ships with type definitions
  • Works well in React Native too!

Upgrading to v9

Version 9 comes with a minor breaking change. See Upgrading for details.

Documentation

Getting started

API

Guide

Contributing

Contributors

Thanks goes to these wonderful people (emoji key):

Gert Hengeveld
Gert Hengeveld

💻 👀 💬
Khartir
Khartir

💻 📦
Lenz Weber
Lenz Weber

💻 📦 🤔
Avinash
Avinash

👀 📖
Fred K. Schott
Fred K. Schott

🔧
Cedric van Putten
Cedric van Putten

💻
Tom Shane
Tom Shane

👀
Philip Peterson
Philip Peterson

💻
Sibelius Seraphini
Sibelius Seraphini

👀
Jim Cummins
Jim Cummins

👀
Mihkel Sokk
Mihkel Sokk

👀
Jiří Brabec
Jiří Brabec

💻
Andrii U
Andrii U

💡
Matthisk Heimensen
Matthisk Heimensen

💻
Danny Hurlburt
Danny Hurlburt

🤔 📖
Noel Yoo
Noel Yoo

⚠️ 💻 🤔
Adam Ratcliffe
Adam Ratcliffe

💻
Kent C. Dodds
Kent C. Dodds

💻
walter-ind
walter-ind

📖
Jacob Lee
Jacob Lee

💻
Youngrok Kim
Youngrok Kim

💻
Munir Ahmed Elsangedy
Munir Ahmed Elsangedy

🤔
AlixWang
AlixWang

📖

This project follows the all-contributors specification. Contributions of any kind welcome!

Similar projects