Image for post
Image for post

React Async v9 and beyond

Introducing Suspense support and Async Library

It’s been a while since Dan Abramov revealed Suspense, the future vision for async rendering and data fetching in React. Users of React Async have been asking about Suspense support ever since that early announcement. Suspense for Code Splitting was released in October 2018, but Suspense for Data Fetching was postponed until late 2019.

Image for post
Image for post
Wrap your Async components with Suspense.

Becoming a community project

React Async as a project has made some great strides lately. Over the summer I’ve decided to shift my attention from developing the product, to making it a community project. Inspired by conversations at EXPAND Conference, I announced a partnership with several open source contributors in September.

Async Library

To make this a real community project, React Async has moved from my personal GitHub account to a newly created organization. Async Library is the name of the overarching project and was chosen akin to Testing Library. The goal of Async Library is to provide a unified way to develop asynchronous UI states and aims to be framework agnostic. It builds from a core library which is essentially a state machine around promises (and possibly streams), to provide a standardized API for asynchronous state in user interfaces. On top of that we’ll provide integration with other libraries, including React, Redux, Axios, GraphQL, Web Workers, Vue, Svelte and whatever else the community comes up with. There’s a ton of use cases to support. As you can see this is highly ambitious, and can only succeed with community support.

Thanks

Let me wrap this up by thanking everyone who has contributed to this project so far (we currently list 22 contributors), or will do so in the future. In particular I want to thank Lenz, Sébastien and Norbert for helping me kickstart the community effort.

Written by

Enabling Component-Driven Development with @ChromaUI and @Storybookjs.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store