State Management with React Query: Improve developer and user experience by mastering server state in React
- Length: 228 pages
- Edition: 1
- Language: English
- Publisher: Packt Publishing
- Publication Date: 2023-05-12
- ISBN-10: 1803231343
- ISBN-13: 9781803231341
- Sales Rank: #1736641 (See Top 100 Books)
Beat common challenges in data fetching and data mutations while learning one of the most popular libraries for managing server state in React
Purchase of the print or Kindle book includes a free PDF eBook
Key Features
- Learn how state is split into server and client state and the common challenges with each
- Understand how React Query addresses server state challenges by facilitating data fetching and mutations
- Apply the knowledge gained to improve developer experience and build applications with improved UX
Book Description
State management, a crucial aspect of the React ecosystem, has gained significant attention in recent times. While React offers various libraries and tools to handle state, each with different approaches and perspectives, one thing is clear: state management solutions for handling client state are not optimized for dealing with server state. React Query was created to address this issue of managing your server state, and this guide will equip you with the knowledge and skills needed to effectively use React Query for state management.
Starting with a brief history of state management in the React ecosystem, you’ll find out what prompted the split from a global state to client and server state and thus understand the need for React Query. As you progress through the chapters, you’ll see how React Query enables you to perform server state tasks such as fetching, caching, updating, and synchronizing your data with the server. But that’s not all; once you’ve mastered React Query, you’ll be able to apply this knowledge to handle server state with server-side rendering frameworks as well. You’ll also work with patterns to test your code by leveraging the testing library and Mock Service Worker.
By the end of this book, you’ll have gained a new perspective of state and be able to leverage React Query to overcome the obstacles associated with server state.
What you will learn
- Get to grips with state and how it’s typically managed
- Install and configure React Query and its Devtools
- Manage server state data fetching with the useQuery hook
- Create, update, and delete data using the useMutation hook
- Employ React Query in combination with frameworks such as Next.js and Remix
- Explore MSW and the testing library to test React Query using components and hooks
Who this book is for
The book is for React developers who want to improve their state management skills and overcome the hurdles brought about by server state while improving their developer and user experience. Basic knowledge of web development and React will assist with understanding key concepts covered in this book. JavaScript developers will also find it useful.
Cover Title Page Copyright Dedication Contributors Table of Contents Preface Part 1: Understanding State and Getting to Know React Query Chapter 1: What Is State and How Do We Manage It? Technical requirements What is state in React? Managing state in React Managing state with useState Managing state with useReducer Sharing state with React Context What do different state management libraries have in common? Summary Chapter 2: Server State versus Client State Technical requirements What is global state? What is client state? What is server state? Understanding common challenges with server state Caching Optimistic updates Deduping requests Performance optimization Summary Chapter 3: React Query – Introducing, Installing, and Configuring It Technical requirements What is React Query? Query Mutation How does React Query solve my server state challenges? Installing React Query npm Yarn pnpm Script tag Configuring React Query QueryClient QueryClientProvider Adding React Query Devtools Floating Mode Embedded Mode Enabling Devtools in your production build Summary Part 2: Managing Server State with React Query Chapter 4: Fetching Data with React Query Technical requirements What is useQuery and how does it work? What is a query key? What is a query function? What does useQuery return? Commonly used options explained Refetching data with useQuery Automatic refetching Manual refetching Fetching dependent queries with useQuery Putting it all into practice Summary Chapter 5: More Data-Fetching Challenges Technical requirements Building parallel queries Manual parallel queries Dynamic parallel queries Leveraging QueryClient Query invalidation Prefetching Query cancelation Creating paginated queries Creating infinite queries Debugging your queries with Devtools Summary Chapter 6: Performing Data Mutations with React Query Technical requirements What is useMutation and how does it work? What is the mutation function? What does useMutation return? Commonly used mutation options explained Performing side-effect patterns after mutations How to perform an additional side effect How to retrigger a query refetch after mutation How to perform an update to our query data after a mutation Performing optimistic updates Summary Chapter 7: Server-Side Rendering with Next.js or Remix Technical requirements Why should I use React Query with server-side rendering frameworks? Using the initialData pattern Applying the initialData pattern in Next.js Applying the initialData pattern in Remix Using the hydrate pattern Applying the hydrate pattern in Next.js Applying the hydrate pattern in Remix Summary Chapter 8: Testing React Query Hooks and Components Technical requirements Configuring Mock Service Worker Organizing code Creating an API file Leveraging query key factories Creating a hooks folder Testing components that use React Query Setting up testing utils Testing queries Testing mutations Testing custom hooks that use React Query Summary Chapter 9: What Changes in React Query v5? Technical requirements What are the support changes? Using only the object format Removing the logger Renaming loading to pending Renaming cacheTime to gcTime Renaming Hydrate to HydrationBoundary Next.js hydrate pattern renaming Remix hydrate pattern changes Removing keepPreviousData and using placeholderData Introducing a new way to perform optimistic updates Introducing maxPages to infinite queries Summary Index About Packt Other Books You May Enjoy
Donate to keep this site alive
How to download source code?
1. Go to: https://github.com/PacktPublishing
2. In the Find a repository… box, search the book title: State Management with React Query: Improve developer and user experience by mastering server state in React
, sometime you may not get the results, please search the main title.
3. Click the book title in the search results.
3. Click Code to download.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.