Take a load off with React
When designing asynchronous operations in a React application (such as data fetching), it's easy to overlook the confusing and inconsistent user experience it can result in. The following issues can arise:
- Managing promise states manually can be harmful to the user's experience.
- Visibly reloading data that has already been seen by the user.
- Loading spinners can appear for microseconds before resolving content.
In an ever-present battle for our user's attention, details matter. Any combination of the above issues can lead to quite a jarring experience, so what can we do about it?