📄️ Giới thiệu
- Trong react query, useQueryClient() là một hook cho phép ta truy cập đến instance QueryClient .
📄️ invalidateQueries()
- Phương thức invalidateQueries() sẽ refetch (gửi refetch request network) cho những queries mà có queryKey tương ứng do ta chỉ định hoặc refetch tất cả các queries đang có trong cache.
📄️ prefetchQuery() / fetchQuery()
- Cả 2 phương thức prefetchQuery() và fetchQuery() giúp ta có thể thực hiện trước việc nạp query cùng với dữ liệu vào cache (cache request network). Lưu ý rằng query này phải chưa có trong cache.
📄️ getQueryData()
- Phương thức getQueryData() là một phương thức đồng bộ giúp lấy ra dữ liệu tương ứng với query đã được lưu ở trong cache. Nếu query không tồn tại ở trong cache, đồng nghĩa với việc chưa có dữ liệu, phương thức sẽ trả về undefined
📄️ setQueryData()
- setQueryData() là một hàm đồng bộ dùng để cập nhật giá trị cho query keys được chỉ định. Nếu query key không có trong cache, nó sẽ được tự động tạo.
📄️ cancelQueries()
- Phương thức cancelQueries() dùng để hủy bỏ khi đang thực hiện dở query. Được dùng khi component unmounted (tức khi người dùng chuyển trang khác trong khi query đang thực hiện dở thì hủy bỏ không thực hiện query đó nữa, giúp tối ưu hiệu năng).
📄️ removeQueries()
- Phương thức removeQueries() dùng để xóa query ra khỏi cache.
📄️ refetchQueries()
- Phương thức refetchQueries() dùng để refetch những query đang có trong cache.
📄️ isFetching / isMutating
- queryClient.isFetching: trả về number là số lượng query ở trong cache đang thực hiện fetching