ahooks useRequest怎么使用(ahooks,userequest,开发技术)

时间:2024-05-08 01:48:20 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    ahooks%C2%A0useRequest%E6%80%8E%E4%B9%88%E4%BD%BF%E7%94%A8

先上代码:

useRequest.ts

使用

useRequest 对于请求函数的写法并无过多要求,只要是一个异步function且返回一个promise对象,即可传入useRequest的第一个参数中,而第二个参数则是一系列的可选配置项,雏形版本我们暂时只支持onSuccess

代码改造后:

useRequest.ts

使用

手动执行的逻辑主要是根据manual参数砍掉useRequest mount阶段的渲染请求,把执行请求的能力暴露出去,在页面中去手动调用request()来触发。

代码改造后:

useRequest.ts

使用

轮询的支持在hook中主要用到了timer setTimeout的递归思路,同时给出一个status状态值判断是否在轮询中,当调用端执行cancel()status则为false;当轮询开始,则statustrue

cancel()的能力 主要也是取消了timer的递归请求逻辑,并且轮询的业务场景和manual: true配合很多。

代码改造后:

useRequest.ts

使用

依赖请求的思路就是在hook中加入一个ready字段,也是在基于manual一层的限制后又加了一层,来判断是否在hook加载时是否做默认请求,而当option中的ready更新(为true)时,hook自动更新从而发起请求。

常用于页面中A请求完成后执行B请求,B请求的ready字段依赖于A请求的data/loading字段。

防抖和节流的实现比较简单,依赖于lodash库,包装了一下request函数的请求内容。

代码如下:

useRequest.ts

使用

hook中,通过lodash.debounce/lodash.throttle来包装request函数主体,通过option中的判断来执行对应的包装体函数。

改造后的代码(最终代码)如下:

useRequest.ts

使用

缓存的主体思路是在useRequest中拿到第一次数据后通过useCallback来透出data依赖来保存,同时向外暴露一个cachedFetchData来过渡datanull到请求到接口数据的过程。

依赖更新的思路则是在页面中给useRequest一系列依赖状态一并加入在hook的请求副作用中,监听到页面中依赖改变,则重新请求,具体实现则是refreshDeps参数。

本文:ahooks useRequest怎么使用的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:基于SpringBoot怎么应用ApplicationEvent下一篇:

16 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18