- vừa được xem lúc

React Query Series - Bài 2 - Một số khái niệm cơ bản trong React Query

0 0 21

Người đăng: Khánh Nguyễn

Theo Viblo Asia

Một số khái niệm cơ bản trong React Query

Chào các bạn đã trở lại bài 2 của mình về React Query. Ở bài này mình sẽ nói sơ qua về một số khái niệm cơ bản có trong React Query. Mình tin sau khi đọc hết bài viết này, các bạn sẽ hiểu rõ hơn về các khái niệm cơ bản về React Query và cách sử dụng nó để quản lý dữ liệu trong React.

React Query là một thư viện tập hợp cho việc quản lý trạng thái và dữ liệu trong React. Nó cung cấp các tính năng và API để giúp cho việc lấy dữ liệu từ API, lưu trữ dữ liệu và quản lý trạng thái giữa các component.

  • State Management: React Query cung cấp một cách quản lý trạng thái cho dữ liệu trong app, bao gồm cả việc quản lý trạng thái loading, error, và kết quả trả về.
  • Query: Là một đối tượng chứa các thông tin liên quan đến việc lấy dữ liệu và trạng thái hiện tại của việc lấy dữ liệu.
  • Query Cache: Là một kho dữ liệu để lưu trữ các Query. Nó cung cấp các tính năng để truy cập và quản lý các Query.
  • Query Hooks: Là các hook cung cấp cho việc sử dụng Query trong React component. Các hook này giúp cho việc lấy dữ liệu, cập nhật trạng thái và quản lý lỗi.
  • Query Key: Query Key là một chuỗi dùng để định danh mỗi yêu cầu dữ liệu. Nó giúp React Query tìm và quản lý các yêu cầu trong Query Cache.
  • Refetching: Là việc tái lấy dữ liệu một cách tự động hoặc bằng cách gọi một function.
  • Suspense: Là một tính năng của React Query cho phép việc hiển thị nội dung trong khi đang chờ đợi dữ liệu.
  • Revalidation: Revalidation là việc kiểm tra xem dữ liệu trong Query Cache còn hợp lệ hay không. Nếu dữ liệu không hợp lệ, React Query sẽ gửi yêu cầu dữ liệu mới.

Ví Dụ

Ví dụ 1

Chúng ta có một ứng dụng cần tải danh sách sản phẩm từ API. Chúng ta có thể sử dụng React Query để tải dữ liệu và quản lý cache của dữ liệu đó.

 import { useQuery } from 'react-query'; function ProductList() { const { data, status } = useQuery('products', async () => { const response = await fetch('https://api.example.com/products'); return response.json(); }); if (status === 'loading') { return <div>Loading...</div>; } if (status === 'error') { return <div>Error: {error.message}</div>; } return ( <ul> {data.map((product) => ( <li key={product.id}>{product.name}</li> ))} </ul> );
}

Trong ví dụ trên, chúng ta sử dụng hook useQuery để tải dữ liệu sản phẩm từ API. Nếu dữ liệu đã được cache, nó sẽ được trả về từ cache mà không cần tải lại. Nếu chưa, nó sẽ tải dữ liệu mới và cache dữ liệu đó.

Ví dụ 2

Bạn có một mảng chứa các đối tượng của nhân viên với thông tin về tên, trình độ và lương. Bạn muốn tìm tất cả những nhân viên có trình độ "senior". Bạn có thể sử dụng React Query để thực hiện việc này.

import { useQuery } from 'react-query'; function getSeniorEmployees() { return fetch('/api/employees') .then(res => res.json()) .then(data => data.filter(employee => employee.level === 'senior'));
} function EmployeesList() { const { isLoading, error, data } = useQuery('seniorEmployees', getSeniorEmployees); if (isLoading) return 'Loading...'; if (error) return 'An error has occurred'; return ( <ul> {data.map(employee => ( <li key={employee.name}>{employee.name}</li> ))} </ul> );
}

Trong ví dụ trên, chúng ta sử dụng hàm useQuery để thực hiện truy vấn cho dữ liệu nhân viên có trình độ "senior". Chúng ta sử dụng hàm getSeniorEmployees để truy xuất dữ liệu từ API và lọc các nhân viên có trình độ "senior".

Kết Bài

Ở bài này mình đã nói sơ qua những khái niệm cơ bản của React Query. Ở bài tới mình sẽ bắt đầu setup một project nhỏ và hướng dẫn từng hàm để giúp các bạn nắm rõ hơn về React Query. Cảm ơn đã quan tâm về Series React Query.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Cùng tìm hiểu về các hook trong React hooks

Đối với ai đã từng làm việc với React thì chắc hẳn đã có những lúc cảm thấy bối rối không biết nên dùng stateless (functional) component hay là stateful component. Nếu có dùng stateful component thì cũng sẽ phải loay hoay với đống LifeCycle 1 cách khổ sở Rất may là những nhà phát triển React đã kịp

0 0 100

- vừa được xem lúc

Khi nào nên (và không nên) sử dụng Redux

. Công việc quản lý state với những hệ thống lớn và phức tạp là một điều khá khó khăn cho đến khi Redux xuất hiện. Lấy cảm hứng từ design pattern Flux, Redux được thiết kế để quản lý state trong các project JavaScript.

0 0 127

- vừa được xem lúc

ReactJS: Props và State

Nếu bạn đã học ReactJS hay React Native, bạn sẽ thấy các Props và State được sử dụng rất nhiều. Vậy chính xác chúng là gì? Làm thế nào để chúng ta sử dụng chúng đúng mục đích đây.

0 0 59

- vừa được xem lúc

State và Props trong Reactjs

Hello các bạn, tiếp tục seri tìm hiểu về ReactJs hôm nay mình xin giới thiệu đến các bạn hai thứ mình cho là thú vị nhất của ReactJs là State và Props. State bạn có thể hiểu đơn giản là một nơi mà bạn lưu trữ dữ liệu của Component, từ đó bạn có thể luân chuyển dữ liệu đến các thành phần trong Compon

0 0 54

- vừa được xem lúc

Memoization trong React

. 1.Introduction. Memoization có liên quan mật thiết đến bộ nhớ đệm, và dưới đây là một ví dụ đơn giản:. const cache = {}.

0 0 51

- vừa được xem lúc

Nâng cao hiệu suất React Hooks với React.memo, Memoization và Callback Functions

1.Ngăn Re-render và React.memo. React.

0 0 80