Dependent query dùng enabled: !!prerequisite để chỉ chạy khi dependency sẵn sàng — tránh waterfall bằng cách chạy parallel khi queries độc lập.
- Dependent query (hay serial query) là query mà việc thực thi phụ thuộc vào kết quả của query khác.
- Dùng
enabledoption để kiểm soát: ví dụ fetch user trước, rồi mới fetch posts của user đó —useQuery({ queryKey: ['posts', userId], queryFn: () => fetchPosts(userId), enabled: !!userId }). - Khi userId chưa có (query user chưa xong), enabled = false nên posts query không chạy.
- Khi userId có giá trị, enabled = true → tự động fetch.
- React Query handle loading states đúng cho cả chain: component thấy isLoading = true cho tới khi query cuối cùng hoàn thành.
- Tránh lạm dụng dependent queries vì tạo waterfall — nếu queries độc lập, chạy parallel tốt hơn.