当前位置:首页 > 科技  > 软件

React Query 是做什么的?你知道吗?

来源: 责编: 时间:2024-06-11 17:50:10 302观看
导读最近因为工作的关系,开始接触 React Query[1]。不用不知道,一用真好用!React Query 是以前的叫法,现在叫 TanStack Query。之所以改名字,是因为这个团队发现,他们可以把这套方案推广到除 React 之外的其他框架中去。图片如

最近因为工作的关系,开始接触 React Query[1]。不用不知道,一用真好用!rGQ28资讯网——每日最新资讯28at.com

React Query 是以前的叫法,现在叫 TanStack Query。之所以改名字,是因为这个团队发现,他们可以把这套方案推广到除 React 之外的其他框架中去。rGQ28资讯网——每日最新资讯28at.com

图片图片rGQ28资讯网——每日最新资讯28at.com

如图所示,目前(2024.06)最新的 v5 版本已经支持包含 React、Vue、Angular 在内的 5 大框架了。rGQ28资讯网——每日最新资讯28at.com

那 React Query 到底是做什么的呢?rGQ28资讯网——每日最新资讯28at.com

笼统地说,React Query 是用来管理接口请求的,包括增删改查所有类型的接口。管理的内容包括响应数据和请求状态,可以让你少些很多样板代码。rGQ28资讯网——每日最新资讯28at.com

另外,一旦学会了 React Query 的使用,那么在其他框架中的应用也是一样,上手就快了。rGQ28资讯网——每日最新资讯28at.com

不过 React Query 学习成本也高,要彻底熟练 React Query 的使用,就要学习很多概念,不过理解这些概念对于我们写出交互友好的页面又极其关键。rGQ28资讯网——每日最新资讯28at.com

于是,我便萌生了写一个 React Query 系列文章的想法。本文就是第一篇,大概谈论它是做什么的,如何使用,有什么能力,后面再一篇一个具体话题单独讨论。rGQ28资讯网——每日最新资讯28at.com

React Query 是从 v3 版本改名字的:rGQ28资讯网——每日最新资讯28at.com

  • v3 以前(包括 v3)包名叫 react-query
  • 从 v4 开始包名改成 @tanstack/react-query 了

新旧版本改动不多[2],因为我现在用的是旧包,我就那它举例了。rGQ28资讯网——每日最新资讯28at.com

安装 React Query

先创建一个 React 项目。rGQ28资讯网——每日最新资讯28at.com

npm create vite@latest react-query-demos -- --template reactcd react-query-demos

安装 react-query[3] 依赖,启动项目。rGQ28资讯网——每日最新资讯28at.com

npm install react-querynpm installnpm run dev

接下来删除 index.css 中的内容,再修改 App.jsx,注入 React Query 上下文依赖。rGQ28资讯网——每日最新资讯28at.com

import { QueryClient, QueryClientProvider, useQuery } from 'react-query'const queryClient = new QueryClient()export default function App() {  return (    <QueryClientProvider client={queryClient}>      {/* ... */}    </QueryClientProvider>  )}

这一步是必须的,后续 React Query 的接口查询和修改等 API 能力都有赖于 queryClient。rGQ28资讯网——每日最新资讯28at.com

快速开始

说了那么多,我们直接上一个 React Query 案例直观感受一下它的使用。rGQ28资讯网——每日最新资讯28at.com

我们创建一个 <Example /> 组件,内容如下:rGQ28资讯网——每日最新资讯28at.com

import { useQuery } from 'react-query'function Example() {  // 1)  const { isLoading, isError, error, data } = useQuery('repoData', () =>    fetch('https://api.github.com/repos/tannerlinsley/react-query').then(res =>      res.json()    )  )    // 2)  if (isLoading) return 'Loading...'  if (isError) return 'An error has occurred: ' + error.message      // 3)  return (    <div>      <h1>{data.name}</h1>      <p>{data.description}</p>      <strong> 
                

本文链接:http://www.28at.com/showinfo-26-93085-0.htmlReact Query 是做什么的?你知道吗?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: HTTP QUERY method,前端传SQL不再是笑话

下一篇: ASP.NET Core 性能优化指南

标签:
  • 热门焦点
  • 对标苹果的灵动岛 华为带来实况窗功能

    继苹果的灵动岛之后,华为也在今天正式推出了“实况窗”功能。据今天鸿蒙OS 4.0的现场演示显示,华为的实况窗可以更高效的展现出实时通知,比如锁屏上就能看到外卖、打车、银行
  • 7月安卓手机性能榜:红魔8S Pro再夺榜首

    7月份的手机市场风平浪静,除了红魔和努比亚带来了两款搭载骁龙8Gen2领先版处理器的新机之外,别的也想不到有什么新品了,这也正常,通常6月7月都是手机厂商修整的时间,进入8月份之
  • Raft算法:保障分布式系统共识的稳健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可复制、可冗余、可容错”)的首字母缩写。Raft算法是一种用于在分布式系统
  • 三言两语说透设计模式的艺术-单例模式

    写在前面单例模式是一种常用的软件设计模式,它所创建的对象只有一个实例,且该实例易于被外界访问。单例对象由于只有一个实例,所以它可以方便地被系统中的其他对象共享,从而减少
  • 一篇文章带你了解 CSS 属性选择器

    属性选择器对带有指定属性的 HTML 元素设置样式。可以为拥有指定属性的 HTML 元素设置样式,而不仅限于 class 和 id 属性。一、了解属性选择器CSS属性选择器提供了一种简单而
  • 使用LLM插件从命令行访问Llama 2

    最近的一个大新闻是Meta AI推出了新的开源授权的大型语言模型Llama 2。这是一项非常重要的进展:Llama 2可免费用于研究和商业用途。(几小时前,swyy发现它已从LLaMA 2更名为Lla
  • 一个注解实现接口幂等,这样才优雅!

    场景码猿慢病云管理系统中其实高并发的场景不是很多,没有必要每个接口都去考虑并发高的场景,比如添加住院患者的这个接口,具体的业务代码就不贴了,业务伪代码如下:图片上述代码有
  • 华为发布HarmonyOS 4:更好玩、更流畅、更安全

    在8月4日的华为开发者大会2023(HDC.Together)大会上,HarmonyOS 4正式发布。自2019年发布以来,HarmonyOS一直以用户为中心,经历四年多的发展HarmonyOS已
  • 引领旗舰级影像能力向中端机普及 OPPO K11 系列发布 1799 元起

    7月25日,OPPO正式发布K系列新品—— OPPO K11 。此次 K11 在中端手机市场长期被忽视的影像板块发力,突破性地搭载索尼 IMX890 旗舰大底主摄,支持 OIS
Top