当前位置: 首页 > article >正文

React自定义Hook之useRequest

一、简介

通过自定义hook,实现对http请求封装。

支持loading状态判断请求进度,支持获取请求正确和错误结果。

二、技术方案

use request hook

export const useRequest = (options) => {
    
    // 请求参数
    const [url, ...init] = options;
    // 请求返回的数据
    const [data, setData] = useState(null);
    // 请求返回的错误信息
    const [error, setError] = useState(null);
    // 请求的loading 状态
    const [loading, setLoading] = useState(false);
     
    function loader(){
        setLoading(true);
        return fetch(url, init)
            .then((res) =>{
                setData(res.json());
                setLoading(false);
             })
            .catch((error) => {
                setError(error);
                setLoading(false); 
            });
    }

    return {loader, data, error, loading};

}

使用样例

const {data, loader, error, isLoading} = useRequest({url:'/api/get/user',
                                            method:'GET',
                                            headers:{"Content-Type":"application/json"}}
);
return (
<Button onClick = {()=>{loader()}}>获取数据</Button>

<div>
    {isLoading ? <span>加载中</span> : <span>data</span>}
</div>
)


http://www.kler.cn/news/136768.html

相关文章:

  • 数据库相关知识点
  • NLP--一起学习Word Vector【实践】
  • Chrome谷歌浏览器加载ActiveX控件之JT2Go控件
  • 工具:Typora自定义高效率主题
  • 常见的跨境电商平台对比【总结表】
  • vue-element-admin顶部导航栏的修改
  • uni-app:前端实现心跳机制(全局)+局部页面控制心跳暂停和重新心跳
  • 腾讯云标准型s5和s6有什么区别?CPU处理器有差异吗?
  • 【Go入门】Web工作方式
  • 腾讯云服务器标准型S5实例CPU性能如何?配置特性说明
  • 【双指针】:Leetcode1089.复写零
  • Web3名词解释
  • 最长公共子串 动态规划
  • 腾讯云轻量应用服务器三年租用价格表_免去续费困扰
  • 官宣!Sam Altman加入微软,OpenAI临时CEO曝光,回顾董事会‘’政变‘’始末
  • Dubbo开发系列
  • 2023 羊城杯 final
  • 【测试功能篇 01】Jmeter 压测接口最大并发量、吞吐量、TPS
  • git容易出问题的命令
  • gzip 压缩优化大 XML 响应的处理方法
  • 1688阿里巴巴API 1688商品采集API 1688获取商品列表API 订单API
  • c++ std::variant用法
  • django自带的cache无法多进程共享
  • 互联网上门洗衣洗鞋店小程序开发;
  • Python-列表和元祖的区别
  • 《深度学习500问》外链笔记