Sự khác biệt giữa isLoading và isFetching trong useQuery?

isLoading = true chỉ lần fetch đầu chưa có cache (show skeleton toàn trang); isFetching = true MỌI KHI đang fetch kể cả background refetch (show subtle indicator).

  • Đây là câu phỏng vấn rất phổ biến. isLoading (hay status === 'pending'): true CHỈ khi fetch lần đầu VÀ chưa có cached data — dùng để show loading skeleton/spinner toàn trang. isFetching: true MỌI KHI đang fetch, kể cả background refetch khi đã có cached data — dùng để show subtle indicator (spinning icon nhỏ, progress bar mờ).

Ví dụ thực tế: user vào trang Products lần đầu → isLoading=true, show skeleton.

Xem toàn bộ State Management cùng filter theo level & chủ đề con.

Mở danh sách State Management