How to Stop Unwanted Api Calls with Stale Time 2025
How to Stop Unwanted API Calls with staleTime
in React Query 2025
React Query by default har baar component mount hone par API call karta hai, agar data stale ho.
Lekin agar aap staleTime
set kar dete ho, to React Query us time tak data ko fresh maanta hai
aur unnecessary API calls nahi karta.
1. What is staleTime
?
staleTime
ek time duration hai (in milliseconds) jisme query data fresh maana jata hai.
Jab tak yeh time khatam nahi hota, React Query API call dubara nahi karega.
useQuery({
queryKey: ['posts'],
queryFn: fetchPosts,
staleTime: 1000 * 60 * 5 // 5 minutes
});
2. Default Behavior (Without staleTime)
Agar aap staleTime
nahi set karte, to data mount hone ke turant baad stale maan liya jata hai
aur har baar component render hone par API call hoti hai.
useQuery({
queryKey: ['todos'],
queryFn: fetchTodos
});
// API call on every mount if data is not fresh
3. Avoiding Re-fetch with staleTime
Niche example mein, 1 hour tak data fresh rahega aur re-fetch nahi hoga:
useQuery({
queryKey: ['userProfile'],
queryFn: fetchUserProfile,
staleTime: 1000 * 60 * 60 // 1 hour
});
4. Use Case: Dashboard or Profile Page
Aise pages jahan frequently data change nahi hota, unmein staleTime
ka use karke performance improve ki ja sakti hai.
5. Tips
- Short staleTime: Real-time data jahan zaroori ho (like chat, live updates).
- Long staleTime: Static or rarely changing data (like profile, config).
staleTime: Infinity
se data kabhi stale nahi hoga, aur kabhi automatic refetch nahi hoga.
useQuery({
queryKey: ['settings'],
queryFn: fetchSettings,
staleTime: Infinity
});
6. Conclusion
staleTime
ka use karke aap React Query mein unwanted API calls ko stop kar sakte ho.
Ye performance aur user experience dono ke liye helpful hota hai.