Blog>
Snippets

Inspecting Active Queries and Mutations

Demonstrate how to use React Query DevTools to view and inspect active queries and mutations in a React application, focusing on the DevTools UI.
import { ReactQueryDevtools } from 'react-query/devtools'
First, import ReactQueryDevtools from the 'react-query/devtools' package.
function App() {
  // App component content
  return (
    <>
      {/* Other components */}
      <ReactQueryDevtools initialIsOpen={false} />
    </>
  );
}
Then, add the ReactQueryDevtools component at the end of your main App component or inside the component where React Query is used. The 'initialIsOpen' prop is set to false to keep the DevTools closed by default; it can be toggled open as needed.
// Use inside your component
const { data, error, isLoading } = useQuery('todos', fetchTodos)
This demonstrates using the useQuery hook to fetch data. 'todos' is the unique key for the query, and 'fetchTodos' is the function to fetch this data. React Query Devtools will automatically pick this up for inspection.
// For inspecting mutations
const mutation = useMutation(newTodo => postTodo(newTodo))
Here's an example of using the useMutation hook to handle data mutation. After calling this mutation, you can observe its state and lifecycle in the React Query DevTools.