Many blog articles talk about loading api/async data in React apps, with componentDidMount, useEffect, Redux, Apollo… Yet, all those articles are generally optimistic, and never mention something important to consider: race conditions could happen, and your UI may end up in an inconsistent state. An image is worth a thousand words: You search for Macron, then change your mind and search for Trump,