--- id: quick-start title: Quick Start --- This example very briefly illustrates the 3 core concepts of React Query: - [Queries](./guides/queries) - [Mutations](./guides/mutations) - [Query Invalidation](./guides/query-invalidation) ```js import { useQuery, useMutation, useQueryClient, QueryClient, QueryClientProvider, } from 'react-query' import { getTodos, postTodo } from '../my-api' // Create a client const queryClient = new QueryClient() function App() { return ( // Provide the client to your App ) } function Todos() { // Access the client const queryClient = useQueryClient() // Queries const query = useQuery('todos', getTodos) // Mutations const mutation = useMutation(postTodo, { onSuccess: () => { // Invalidate and refetch queryClient.invalidateQueries('todos') }, }) return (
) } render(, document.getElementById('root')) ``` These three concepts make up most of the core functionality of React Query. The next sections of the documentation will go over each of these core concepts in great detail.