A query is made - isLoading is true Data is cached for 5 minutes Another query within 5 minute - isLoading is false Then in background - another query is sent to the backend - isFetching = true - if new data is found then the data returned from the hook is updated.