译零 TransZero · TanStack Query v3 中文文档
主站

快速入门

该示例非常简要地说明了 React Query 的 3 个核心概念:

JavaScript
1import {2  useQuery,3  useMutation,4  useQueryClient,5  QueryClient,6  QueryClientProvider,7} from 'react-query'8import { getTodos, postTodo } from '../my-api'9 10// 创建一个 client11const queryClient = new QueryClient()12 13function App() {14  return (15    // 提供 client 至 App16    <QueryClientProvider client={queryClient}>17      <Todos />18    </QueryClientProvider>19  )20}21 22function Todos() {23  // 访问 client24  const queryClient = useQueryClient()25 26  // 查询27  const query = useQuery('todos', getTodos)28 29  // 修改30  const mutation = useMutation(postTodo, {31    onSuccess: () => {32      // 错误处理和刷新33      queryClient.invalidateQueries('todos')34    },35  })36 37  return (38    <div>39      <ul>40        {query.data.map((todo) => (41          <li key={todo.id}>{todo.title}</li>42        ))}43      </ul>4445      <button46        onClick={() => {47          mutation.mutate({48            id: Date.now(),49            title: 'Do Laundry',50          })51        }}52      >53        Add Todo54      </button>55    </div>56  )57}58 59render(<App />, document.getElementById('root'))

这三个概念构成了 React Query 的大部分核心功能。 本文档的下一部分将详细介绍这些核心概念。