DEV Community

Cover image for Fetching Data Made Easy with the useQuery Hook in React
Xaypanya Phongsa
Xaypanya Phongsa

Posted on

Fetching Data Made Easy with the useQuery Hook in React

As a developer, fetching data from an API endpoint is a common task that you will encounter in almost every project you work on. To simplify this process and make it more efficient, many libraries and frameworks have emerged that provide tools for managing API requests and responses.

One such library is react-query, a powerful tool for managing data in React applications. One of the most useful features of react-query is the useQuery hook, which makes fetching data from an API endpoint incredibly easy.

In this post, we will explore how to use the useQuery hook to fetch data from an API and manage the results in a React application.

Getting Started with useQuery ✨

To use useQuery in your React application, you first need to install the react-query library. You can do this by running the following command in your terminal:

npm install react-query

Enter fullscreen mode Exit fullscreen mode

With the useQuery hook imported, you can now use it to fetch data from an API endpoint. Here's an example of how to use useQuery to fetch a list of companies from an API endpoint:

const { isLoading: isLoadingCompanies, isFetching: isFetchingCompanies, data: dataCompanies, refetch: refetchCompanies } = useQuery(["queryCompanies", searchTerm],()=> companySearchQuery(currentPage, searchTerm, token))

Enter fullscreen mode Exit fullscreen mode

In the above code, we're using destructuring assignment to retrieve four variables from the useQuery hook:

  • isLoadingCompanies: A boolean indicating whether the query is currently loading data or not.
  • isFetchingCompanies: A boolean indicating whether the query is currently fetching data or not.
  • dataCompanies: The response data returned from the query after it has successfully fetched data.
  • refetchCompanies: A function that can be called to manually refetch the query and update the data.

The first argument to the useQuery hook is an array of dependencies that determine when the query should be re-executed. In this case, the query will be re-executed whenever either the queryCompanies or searchTerm variables change.

The second argument to the useQuery hook is a function that will be executed to fetch the data. In this case, we're using an arrow function that takes no arguments and returns a promise that resolves to the data fetched by the API.

Conclusion 🚩

In this post, we've explored how to use the useQuery hook from the react-query library to fetch data from an API endpoint and manage the results in a React application. With useQuery, fetching data has never been easier or more efficient, and it's a tool that every React developer should have in their arsenal.

If you'd like to learn more about react-query and how it can help you manage data in your React application, check out the official documentation here. Happy coding!

Top comments (0)