Pattern 1
Manual Fetch with enabled: false
Use enabled: false to prevent automatic fetching. Call refetch() to trigger the query manually.
const result = useQuery({
queryKey: ['todos'],
queryFn: fetchTodos,
enabled: false, // Don't fetch on mount
})
// Later, when user clicks a button:
result.refetch()Query State
isPending: trueisFetching: falseisLoading: falseisError: falseisSuccess: false
status: pendingfetchStatus: idle
No todos available
Run the query again or check your filters to load new tasks.