

The comparison here: https://react-query.tanstack.com/comparison is wrong.
Stale While Revalidate is really straightforward to implement in Apollo Client.
const ItemList = () => {
const { data, loading, error } = useQuery(
GET_ITEMS, { fetchPolicy: 'cache-and-network' }
);
if (!data && loading) return <Loading />;
if (error) return <p>ERROR: {error.message}</p>;
return (
<>
{data.items.map(item => (
<Item key={item.id} item={item} />
))}
</>
);
}
I know that the term "Stale While Revalidate" is not used in the Apollo docs but implementing such UI behavior is really simple.