When code triggers cache reset/refetch or relies on cached freshness, make the behavior intentionally scoped and snapshot-correct:
Example pattern for scoped reset refetch (adapted):
function createValue(client?: QueryClient) {
let isReset = false
return {
clearReset: () => { isReset = false },
reset: () => {
isReset = true
void client?.refetchQueries({
predicate: (query) =>
query.state.status === 'error' &&
query.getObserversCount() > 0 &&
query.observers.some(
(observer) => resolveEnabled(observer.options.enabled, query) !== false,
),
})
},
}
}
Practical checklist:
Enter the URL of a public GitHub repository