程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用自定义钩子封装 useEffect 与 AJAX 请求大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决使用自定义钩子封装 useEffect 与 AJAX 请求?

开发过程中遇到使用自定义钩子封装 useEffect 与 AJAX 请求的问题如何解决?下面主要结合日常开发的经验,给出你关于使用自定义钩子封装 useEffect 与 AJAX 请求的解决方法建议,希望对你解决使用自定义钩子封装 useEffect 与 AJAX 请求有所启发或帮助;

全部!我是 React 的新手。目前,我遇到了一个与 react hooks 相关的问题。问题如下图: 设计一个自定义钩子来封装可以执行副作用操作(例如AJAX请求)的useEffect,设计的自定义钩子可以跳过第一个操作并从第二次开始执行副作用操作。

这里我设计了一个钩子,但是它不正确。我知道钩子的关键是如何判断这是不是第一次调用自定义钩子。有人告诉@R_748_10675@用 useRef 来计算 counter,但我不确定如何设计它 useRef。你们能帮我解决这个问题吗?

function useMyCoustomHook(func,dependencIEs){
    let counter = 1;
    useEffect(()=>{
       if(counter === 1){
         counter--;
       }else{
         func();
       }
    },[dependencIEs])
}

解决方法

我删除了依赖项,您应该使用 ref,即使组件重新呈现与您的 let counter = 1; 不同,它也会记住其值

function useMyCoustomHook(func,dependencies){
    let counter = useRef(0);
    useEffect(()=>{
       if(counter.current === 0){
         counter.current++;
       }else{
         func();
       }
    },[dependencies])

   
}

大佬总结

以上是大佬教程为你收集整理的使用自定义钩子封装 useEffect 与 AJAX 请求全部内容,希望文章能够帮你解决使用自定义钩子封装 useEffect 与 AJAX 请求所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。