useQuery hook hoạt động như thế nào? Các tham số cơ bản là gì?

useQuery là hook chính để đọc data, nhận 2 tham số bắt buộc: queryKey (mảng định danh duy nhất, ví dụ ['todos', { status: 'active' }]) và queryFn (async function trả về data, ví dụ () => fetch('/api/todos').then(r => r.json())).

  • Trả về object gồm: data (kết quả), isLoading (true lần fetch đầu), isFetching (true khi đang fetch kể cả background), isError/error (lỗi), isSuccess, status.
  • Cơ chế: component mount → check cache theo queryKey → nếu có data fresh thì dùng luôn, nếu stale thì vừa show cached data vừa refetch background.
  • Đây là pattern stale-while-revalidate.

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

Mở danh sách State Management