自定义http钩子

2023-05-16

简单创建一个自定义http钩子函数

import { useState, useCallback } from 'react';

const useHttp = () => {
  const [isLoading, setIsLoading] = useState(false);
  const [error, setError] = useState(null);

  const sendRequest = useCallback(async (requestConfig, applyData) => {
    setIsLoading(true);
    setError(null);
    try {
      const response = await fetch(requestConfig.url, {
        method: requestConfig.method ? requestConfig.method : 'GET',
        headers: requestConfig.headers ? requestConfig.headers : {},
        body: requestConfig.body ? JSON.stringify(requestConfig.body) : null,
      });

      if (!response.ok) {
        throw new Error('Request failed!');
      }

      const data = await response.json();
      applyData(data);
    } catch (err) {
      setError(err.message || 'Something went wrong!');
    }
    setIsLoading(false);
  }, []);

  return {
    isLoading,
    error,
    sendRequest,
  };
};

export default useHttp;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自定义http钩子 的相关文章

  • C# HttpWebRequest 服务器未返回完整响应

    我正在向返回带有数据的 HTML 的服务器发出 HTTP 请求 但有时它会 停在中间 没有任何明确的解释 例如响应结束 Content length 14336 chars p p br ul ul example com var auth
  • 如何将 html 输入到 Flask 中?

    我有这个 html 位
  • 使用 php 和 jquery 的简单彗星示例

    谁能给我一个使用 PHP 的彗星技术的简单好例子 我只需要一个使用持久 HTTP 连接或类似连接的示例 我不想使用轮询技术 因为我已经设置了类似的东西 并且不仅难以使用和管理它的大量资源 另外我使用的是 IIS7 而不是 Apache 一个
  • 我应该使用哪种协议来传输音频(非直播)? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Http Auth 不适用于 PHP

    我使用 Laravel Lumen Shield 扩展进行 Http 身份验证 但是在我的本地计算机上一切都很完美 我只在我们的服务器上遇到了问题 问题是在我提交正确的登录数据后 登录屏幕再次出现 我尝试了不同的登录数据 不同的浏览器 登录
  • 把自己限制在HTTP1.0有什么用吗?

    我负责构建一些工具来帮助最终用户测试为什么他们的浏览器可能无法与网站配合使用 我被告知它可能不起作用的原因之一是 需要 HTTP1 1 这一行 我浏览了大多数浏览器选项 只浏览了 IE 版本 6 及更高版本 even 9 允许您禁用 HTT
  • python http 客户端卡在 100 continue

    我在 python 中有一个简单的 http 服务器 它使用 100 continue 实现 PUT class TestHandler SimpleHTTPRequestHandler def do PUT self length int
  • 为什么 HttpClient 使套接字保持打开状态?

    在创建 使用和处置多个 HttpClient 时 我注意到有套接字处于 TIME WAIT 状态 例如 运行以下命令后 using System Net Http namespace HttpClientTest public class
  • WCF - 进行多次调用时随机客户端超时

    我有一个WPF客户端通过以下方式请求数据WCF服务托管于IIS 7 服务方法调用存储过程 SQL 2012 using EF检索一些数据 由于需要加载大量数据 因此客户端会多次调用服务方法 以 分解 数据加载并避免大量负载和超时 我们使用生
  • 使用 PushStreamContent 从 HTTPClient 上传

    我想将大量数据上传到网络服务器from客户端机器 我直接跳到 PushStreamContent 这样我就可以直接写入流 因为结果的大小各不相同 并且可能相当大 流程如下 User runs query gt Reader Ready Ev
  • 如何让 NSURLRequest 获取 Twitter 请求令牌?

    我正在尝试使用以下代码从 Twitter 获取请求令牌 NSMutableURLRequest mURLRequest NSMutableURLRequest alloc initWithURL NSURL URLWithString ht
  • 从开放的 HTTP 流中读取数据

    我正在尝试使用 NET WebRequest WebResponse 类来访问 Twitter 流 API 此处 http stream twitter com spritzer json 我需要能够打开连接并从打开的连接中增量读取数据 目
  • 是否可以在ajax get请求中获取页面的一部分?

    我知道我们可以在向服务器发出 GET 请求时获取整个页面 但是如果我只对该页面上的一个特定 div 感兴趣 或者更准确地说对其内容感兴趣 该怎么办 这里唯一的选择是获取整个页面 例如使用 jquery find 从中获取 div 内容吗 或
  • 删除 servlet 中的 cookie 时出现问题

    我尝试使用以下代码删除 servlet 中的 cookie Cookie minIdCookie null for Cookie c req getCookies if c getName equals iPlanetDirectoryPr
  • Vertx HttpClient getNow 不工作

    我的 vertx HttpClient 有问题 下面的代码显示使用 vertx 和纯 java 测试 GET Vertx vertx Vertx vertx HttpClientOptions options new HttpClientO
  • Golang 优雅地关闭 HTTP 服务器并进行错误处理

    我正在让我的 HTTP 服务器正常关闭 我从帖子中获取了提示here https stackoverflow com questions 39320025 how to stop http listenandserve 并且到目前为止已经像
  • 服务器返回网页 404,但页面在浏览器中显示正常 - 为什么?

    一个奇怪的网页横亘在我面前 作为一名开发人员 我必须解开这个谜团 在任何浏览器中访问网页时 一切似乎都很正常 网页按预期显示 但是当查看控制台时 服务器实际上返回了 404 状态代码 那么浏览器为什么要渲染页面呢 查看正文显示返回了有效的
  • Go中如何自定义http.Client或http.Transport超时重试?

    我想实现一个自定义http Transport对于标准http Client 如果客户端超时 它将自动重试 附 由于某种原因 习俗http Transport is a 一定有 我已经查过了hashcorp go retryablehttp
  • 按照约定应返回哪些 REST PUT/POST/DELETE 调用?

    根据 REST 意识形态 PUT POST DELETE 请求的响应正文中应该包含什么 返回码呢 是HTTP OK enough 如果有的话 这种约定的原因是什么 我发现了一篇描述 POST PUT 差异的好文章 发布与放置 http ww
  • 如何使用 http 将 Android 中的文件从移动设备发送到服务器?

    在android中 如何使用http将文件 数据 从移动设备发送到服务器 很简单 您可以使用 Post 请求并将文件作为二进制 字节数组 提交 String url http yourserver File file new File En

随机推荐

  • Ubuntu 安装 ROS 教程

    Ubuntu 安装 ROS 一 修改为国内镜像源二 ROS 官网安装介绍 xff08 kinetic 16 04 melodic 18 04 noetic 20 04 xff09 三 ROS 安装步骤1 添加 ROS 软件源到 source
  • 运行rosdep update报错:ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/

    解决办法 xff1a 点击此处跳转
  • ubuntu编译camera_model报错:fatal error: elfutils/libdw.h: 没有那个文件或目录

    一 报错 二 解决 执行指令 sudo apt span class token operator span get install libdw span class token operator span dev
  • 聊一聊SLAM核心算法之ESKF多传感器融合算法

    作者 应知 编辑 汽车人 原文链接 xff1a https zhuanlan zhihu com p 628074965 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心
  • Ubuntu20.04跑VINS-fusion

    Ubuntu20 04跑VINS Fusion 使用docker 由于工程较大 xff0c 依赖较多 xff0c 环境配置十分繁琐 xff0c 故使用docker环境来运行VINS Fusion Docker 可以让开发者打包他们的应用以及
  • ubuntu20.04跑PL-VINS

    PL VINS源码 xff1a https github com cnqiangfu PL VINS 编译时报错 catkin make Ceres报错 报错信息 CMake Error at usr local lib cmake Cer
  • unubtu20.04环境下inter d435i相机标定遇到的一些问题

    前言 最近拿到深度相机inter d435i 但是在ros开发中遇到了一些问题 这里我就将我遇到的问题跟解决的办法讲一下 我采用的是双系统ubuntu系统环境下开发的 并不是基于虚拟机开发的 先提一下 问题1 select timeout报
  • 页面报错:Invalid prop: custom validator check failed for prop “percentage“.

    问题 xff1a 使用element 组件库的el progress组件 xff0c 页面正常渲染 xff0c 但是控制台有报错 xff1a 出现问题代码如下 xff1a lt el progress percentage 61 34 en
  • 将mysql中的数据导入到hdfs中

    将mysql中的数据导入到hdfs中 mysql中的数据导入到hdfs中 xff0c 需要借助一个工具sqoop完成 xff0c sqoop的安装和简介请点大数据必学框架 sqoop 一 配置sqoop环境 为了能够让sqoop识别到hdf
  • 串口通信——串口接收数据,发送数据

    十六进制 HEX hexadecimal heks des ml 十进制 DEC decimalism 39 desim liz m 二进制 BIN binary ba n ri 八进制 OCT octonary kt n ri 波特率计算
  • 大疆半固态激光雷达Horizon的优缺点

    原文链接 xff1a 大疆激光雷达 xff0c 车厂为何不爱 xff1f 优点 xff1a 1 成本低 xff0c 可以量产 xff1a 2020 年 xff0c 在当年的 CES 展会上 xff0c 大疆 Livox 发布了 Horizo
  • Ubuntu18.04切换Python版本

    转载自 xff1a Ubuntu18 04 切换 Python 版本 前言 Ubuntu18 04 默认安装了两个版本 Python2 7 和 Python3 6 查看可用二进制文件 ls usr bin python 过程 使用 upda
  • 解决ubuntu1604联网以后网页还是打不开的问题

    ubuntu系统连接正常的联网的网线但是网页还是打不开 xff0c 所有联网的软件也打不开 xff0c 在路由器工作正常的情况下 xff0c 可能出现的问题为dns解析异常 xff0c 关于dns解析异常的解决方法 xff1a 这段时间在u
  • 操作系统--线程并发实验三

    操作系统 线程并发实验三 一 实验目的 线程的运行时并发的 xff0c 如果互不相干的线程交替运行不会产生问题 但是如果有共享资源 合作关系的线程之间由于交替运行可能产生问题 xff0c 例如偶尔出现程序的结果不正常 理解临界区的概念 xf
  • 安装OOQP遇到问题

    Ubuntu20 04 安装OOQP遇到问题 OOQP安装 OOQP安装 MA27是OOQP的依赖 在安装MA27时容易出现找不到fortran77等情况 xff0c 在配置这些环境时容易出现其他错误导致系统环境出现问题 选择其他版本的安装
  • 15个好用的百度网盘搜索引擎

    15个好用的百度网盘搜索引擎 前言 分享 15 个好用的百度网盘搜索引擎 xff0c 方便大家搜索百度云网盘分享的资源文件 挑出来这 15 个效果还不错 xff0c 都可以正常使用 挑选标准 xff1a 免费 xff0c 大部分不登录可用
  • 操作系统死锁实验六

    操作系统死锁实验六 一 实验目的 如果一个进程集合中的每个进程都在等待只能由该进程集合中的其他进程才能引发的事件那么该进程集合就是死锁的 产生死锁的必要条件 xff1a 互斥 xff1b 请求资源和保持已获得资源不释放 xff1b 不可抢占
  • 修复 Windows11 打不开 Windows安全中心

    修复 Windows 打不开 Windows安全中心 遇到以上问题我们直接上解决方法 win10的话直接WIN 徽标 43 X键 win11 菜单栏输入 PowerShell 管理员启动 管理员权限打开PowerShell xff0c 依次
  • webstorm/idea 配置less环境

    看了一下发现大多数教程少了最关键的一步 如果这个lessc不能自动识别的话 需要手动寻找lessc cmd的路径 xff0c 可以在终端中通过 where lessc查找 复制lessc cmd位置就可以了
  • 自定义http钩子

    简单创建一个自定义http钩子函数 span class token keyword import span span class token punctuation span useState span class token punct