react-query手把手教程③-并行请求及依赖请求

本文详细介绍了react-query中的并行请求与依赖请求。通过实例展示了如何使用Promise.all合并并行请求,以及如何利用useQueries进行动态请求。在依赖请求部分,解释了如何在获取列表后再请求详情,解决loading状态问题。文章适合希望深入理解react-query并行和依赖请求特性的前端开发者。
摘要由CSDN通过智能技术生成

并行请求及依赖请求

写在前面

由于国内较少有比较系统的react-query教程,因此笔者结合官方文档以及官方课程的内容,希望写一个较为全面的教程。本文将以各种例子作为切入点,尽可能通俗易懂地讲解相关知识点。如果有错误,还请大家在评论区指出,笔者会尽快改正。

目录

并行请求

什么是并行请求?

在日常开发中,前端请求后端接口时,通常会请求多个接口。比如下面的react-query代码:

 const usersQuery = useQuery(['users'], fetchUsers)
   const teamsQuery = useQuery(['teams'], fetchTeams)
   const projectsQuery = useQuery(['projects'], fetchProjects) 

上面的示例中,请求了用户列表,团队列表,项目列表,此时的接口请求就是并行请求,每个请求互不干扰(你同样可以在数据库查询中,看到相关的概念,Google一下Parallel Queries)。谁先请求到数据,就显示哪一项数据。

假设现在有一个需求:_分别_展示github用户的仓库和代码片段列表 此时我们需要请求两个接口

获取用户仓库列表:

https://api.github.com/users/{username}/repos 

获取用户代码片段列表:

https://api.github.com/users/{username}/gists 

对这两个接口分别同时进行请求,哪个接口先返回了数据,就显示哪个接口的数据:

👉🏻点我查看在线演示

import { useQuery } from "react-query";

const ReposAndGists = ({ username }) => {
  const reposQuery = useQuery(
  ["repos", username], 
  () => {
      return fetch(
        `https://api.github.com/users/${username}/repos`
    )
    .then((res) => res.json())
  });

  const gistQuery = useQuery(
  ["gists", username], 
  () => {
      return fetch(
        `https://api.github.com/users/${username}/gist
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值