首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在react- query的查询函数中修改状态

在react- query的查询函数中修改状态
EN

Stack Overflow用户
提问于 2021-10-23 17:59:19
回答 1查看 204关注 0票数 2

我已经围绕fetch编写了一个包装器,它允许我像处理401一样处理我的API中的错误状态。当出现错误时,自定义fetch函数会使用react钩子设置一些状态。

因为我在函数中使用钩子,所以我不能正常导入它。因此,我使用上下文传递这个封装的函数。

当我使用react-query时,我只想以以下方式使用这个包装函数:

代码语言:javascript
运行
AI代码解释
复制
function myQuery(key, apiFetch) {
  return apiFetch(...)
}

function MyComponent() {
  useQuery('key', myQuery)
}

在本例中,apiFetch是查询函数中的一个可用参数。

我在这里有一个选择,就是像这样内联函数:

代码语言:javascript
运行
AI代码解释
复制
function myQuery(key, apiFetch) {
  return apiFetch(...)
}

function MyComponent() {
  const apiFetch = useApiFetch();
  useQuery('key', (key) => apiFetch(...))
}

然而,我发现这有点混乱,如果可能的话,我希望将查询/突变函数分开。

有没有人知道我可以采取一种方法,让我的apiFetch函数在react-query的函数中可用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-23 21:06:25

如果不想在多个组件中重复调用useApiFetchuseQuery钩子,可以将这两个钩子提取到另一个自定义钩子中,该钩子将react-query与fetch钩子集成在一起:

代码语言:javascript
运行
AI代码解释
复制
function useApiQuery(param) {
  const apiFetch = useApiFetch();
  return useQuery(['key', param], (key) => apiFetch(...))
}

然后在你的组件中使用它:

代码语言:javascript
运行
AI代码解释
复制
function MyComponent({ param }) {
  const { data, error } = useApiQuery(param);
  
  return (...);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69693354

复制
相关文章
首选dns协议版本6怎么填服务器,首选dns怎么填服务器?[通俗易懂]
首选dns和备用dns分别设成208.67.222.222和208.67.220.220。
全栈程序员站长
2022/09/06
5.2K0
首选dns协议版本6怎么填服务器,首选dns怎么填服务器?[通俗易懂]
云服务器如何搭建Discuz! 论坛
CrossdayDiscuz! Board(简称 Discuz!)是北京康盛新创科技有限责任公司推出的一套通用的社区论坛软件系统。自2001年6月面世以来,Discuz!已拥有15年以上的应用历史和200多万网站用户案例,是全球成熟度最高、覆盖率最大的论坛软件系统之一。目前最新版本Discuz! X3.3正式版于2017年1月1日发布,是 X3.2 的稳定版本。
用户5916448
2019/09/19
7.5K0
云服务器如何搭建Discuz! 论坛
云服务器如何搭建Discuz! 论坛
CrossdayDiscuz! Board(简称 Discuz!)是北京康盛新创科技有限责任公司推出的一套通用的社区论坛软件系统。自2001年6月面世以来,Discuz!已拥有15年以上的应用历史和200多万网站用户案例,是全球成熟度最高、覆盖率最大的论坛软件系统之一。目前最新版本Discuz! X3.3正式版于2017年1月1日发布,是 X3.2 的稳定版本。
云服务器教程
2019/04/02
8.9K0
云服务器如何搭建Discuz! 论坛
搭建smtp邮件服务器_smtp服务器怎么填
在大多数情况下,每个虚拟服务器都尽量在消息一抵达消息队列后就进行发送;可是,如果下一个中继段的服务器发生了某个临时性的问题,或者网络中发生了某种通信故障,那么虚拟服务器就会采取适当的措施,例如对消息进行排队,准备再次重试,或者变更消息路由。
全栈程序员站长
2022/11/10
5.1K0
搭建smtp邮件服务器_smtp服务器怎么填
云服务器基于 CentOS 搭建 Discuz 论坛
LAMP 是 Linux、Apache、MySQL 和 PHP 的缩写,是 Discuz 论坛系统依赖的基础运行环境。我们先来准备 LAMP 环境
云服务器教程
2019/11/25
3K0
Debian 下搭建Discuz!论坛
Discuz!是一个用PHP编写的论坛框架,像六维以及我们学校少年班学院的格物致知论坛都是搭建在Discuz!上面的,看论坛页面左下角,都写着”Powered by Discuz!xxx”,其中xxx表示Discuz!的版本号.因为我们实验室师兄用内网搭建了个服务器管理的论坛,而且我之前也尝试过搭建wordpress博客(详细过程可以看我这篇博客)而且成功了(其实没什么技术含量….),估计这个过程也差不多,所以我就想试试Discuz!能否搞定.但我们学校有规定,不能用freeshell搭建网络论坛的,所以我就在我电脑上试着搞搞Discuz!玩玩.
王云峰
2019/12/25
3.1K1
Debian 下搭建Discuz!论坛
Discuz!X数据库函数操作命令大全
函数 功能DB::table($tablename)获取正确带前缀的表名,转换数据库句柄DB::delete($tablename, 条件,条数限制)删除表中的数据DB::insert($tablename, 数据(数组),是否返回插入ID,是否是替换式,是否silent)插入数据操作DB::update($tablename, 数据(数组)条件)更新操作DB::fetch(查询后的资源)从结果集中取关联数组,注意如果结果中的两个或以上的列具有相同字段名,最后一列将优先。DB::fetch_first($s
96php.cn
2018/04/28
1.9K0
小文’s blog – 论坛搭建教程-附源码-直播搭建
文章内容:搭建Discuz论坛 文章来源:小文's blog 准备工作 1.空间+数据库(或者一台服务器) 2.Discuz源码(本文底部有下载) 3.能看完本文的耐心 由于种种原因,博主没有录视
神无月
2018/06/25
2.5K0
腾讯云云服务器如何搭建Discuz! 论坛
CrossdayDiscuz! Board(简称 Discuz!)是北京康盛新创科技有限责任公司推出的一套通用的社区论坛软件系统。自2001年6月面世以来,Discuz!已拥有15年以上的应用历史和200多万网站用户案例,是全球成熟度最高、覆盖率最大的论坛软件系统之一。目前最新版本Discuz! X3.3正式版于2017年1月1日发布,是 X3.2 的稳定版本。
用户6430810
2019/10/11
8.5K0
腾讯云云服务器如何搭建Discuz! 论坛
在腾讯云服务器上搭建Discuz!
2.Discuz源码,Discuz网址Discuz! 官方发布 - Discuz! 官方站 - Powered by Discuz!
大白666
2022/04/19
41.4K4
在腾讯云服务器上搭建Discuz!
SMTP服务器未设置_smtp服务器怎么填
什么是smtp服务器呢?smtp服务器是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。不过很多用户都不知道怎么去打开这个smtp服务器,针对这个问题,接下来小编给大家做详细介绍。
全栈程序员站长
2022/11/10
4.1K0
云服务器的数据库是什么?如何使用云服务器的数据库?
云服务器是这两年非常火爆的一个概念,不管是机关单位还是企业公司等,都会使用云服务器这一服务,因为云服务器具有传统服务器所不具备的诸多优势,其中云服务器所具有的核心内容就是云数据库,那么云服务器的数据库是什么呢?如何使用云服务器的数据库呢?
用户8715145
2021/10/08
19.3K0
基于Discuz的Mysql云数据库搬迁实例解析
该文讲述了作者将创梦者数据库搬迁至腾讯云数据库的过程,以及在使用过程中遇到的问题和解决方法。作者通过使用Navicat工具,在导入数据库时出现了错误,并尝试使用Discuz的数据库检查工具进行检测和解决。最后作者通过打开表,导出为ACCESS格式,然后在目标数据库导入mdb数据,以及重新设计数据类型和长度,最终成功将数据库搬迁至腾讯云。
Tabor
2017/03/05
5.9K1
基于Discuz的Mysql云数据库搬迁实例解析
注册机request填什么_注册register
广播的注册分为动态注册和静态注册,静态注册主要在开机后PackageManagerService 利用 AndroidManifest 扫描 安装的apk 获取AndroidManifest内注册的 广播 所以 忽略 静态注册。今天主要介绍 动态广播的注册。
全栈程序员站长
2022/10/01
2.6K0
用腾讯云服务器快速搭建 Discuz! 论坛
Discuz!全称:Crossday Discuz! Board,是一套免费使用的社区论坛软件系统,由北京康盛新创科技有限责任公司推出,目前最新版本是Discuz! X3.4。自面世以来,Discuz!已拥有18年以上的应用历史和数百万网站用户案例,是全球成熟度最高、覆盖率最大的论坛软件系统之一。用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。Discuz!的基础架构采用世界上最流行的web编程组合PHP+MySQL实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案,无论在稳定性、负载能力、安全保障等方面都居于国内外同类产品领先地位。
用户6511152
2019/10/20
12.6K0
用腾讯云服务器快速搭建 Discuz! 论坛
如何快速搭建 Discuz! 论坛
Discuz!全称:Crossday Discuz! Board,是一套免费使用的社区论坛软件系统,由北京康盛新创科技有限责任公司推出,目前最新版本是Discuz! X3.4。自面世以来,Discuz!已拥有18年以上的应用历史和数百万网站用户案例,是全球成熟度最高、覆盖率最大的论坛软件系统之一。用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。Discuz!的基础架构采用世界上最流行的web编程组合PHP+MySQL实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案,无论在稳定性、负载能力、安全保障等方面都居于国内外同类产品领先地位。
如花
2018/10/17
12.1K6
如何快速搭建 Discuz! 论坛
Discuz!的cookie机制
最近在做Discuz!的插件,需要用到cookie,一直觉得奇怪的一个问题,Discuz!大量使用了cookie,但是我在编写插件的时候如果不加入session_start函数cookie就无法使用,按理说Discuz!使用了这么多cookie它的核心应该有调用session_start呀?而且Discuz!生成的cookie名都是带有一个前缀的,一直不知道这个前缀规律如何,那我又要如何调用内置的cookie呢?     后来查了一下资料,Discuz!把PHP的setcookie函数封装成了dsetcoo
joshua317
2018/04/10
3.4K1
如何快速搭建 Discuz! 论坛
Discuz!全称:Crossday Discuz! Board,是一套免费使用的社区论坛软件系统,由北京康盛新创科技有限责任公司推出,目前最新版本是Discuz! X3.4。自面世以来,Discuz!已拥有18年以上的应用历史和数百万网站用户案例,是全球成熟度最高、覆盖率最大的论坛软件系统之一。用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。Discuz!的基础架构采用世界上最流行的web编程组合PHP+MySQL实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案,无论在稳定性、负载能力、安全保障等方面都居于国内外同类产品领先地位。
用户5920923
2019/09/27
5.9K0
如何快速搭建 Discuz! 论坛
golang链接mssql数据库挖坑,填坑
       先是用了github.com上面星星最多的一个库 "github.com/denisenkom/go-mssqldb",可是死活连不上我的mssqldb,提示是Login Error:EOF,搞不清怎么回事。后来没办法又查到一个 "github.com/mattn/go-adodb" 说是用的原生的activex?不知道能不能跨平台了。不过这个可以连接到我的mssql.先凑合着用吧。
xiny120
2019/06/11
4.8K1
Discuz数据库security_failedlog错误及修复
最近跑了之前的论坛转了转,发现一直在报数据库中表security_failedlog错误,百度了好久,最终找到解决方案。
WindCoder
2018/09/19
2.7K0
Discuz数据库security_failedlog错误及修复

相似问题

为什么怎么填数据库都是错的?

3274

Version参数填什么?

2464

Discuz数据库名和用户名应该填什么?

1271

discuz html?

2272

discuz商用?

1288
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档