我相信我们正在开发复杂而大规模的开发 React 在应用程序中,每个人都会为代码的可重用性而挣扎。一种方法是(用于(用于) api 调用的自定义挂钩)。让我们开始创建它们。
第一,我为我糟糕的写作感到抱歉。我的语言不是英语:)
当然,我们必须在应用程序中多次从服务器获取数据。那么,我们如何才能有效地处理这些需求呢?
使用获取自定义挂钩
自定义钩的代码如下:
axios从axios导入axios;
“反应”导入“反应”{useState};
从“react-toastify”导入{toast};
从“../../features/utils/ApiErrorMessages.json”导入 apiErrors;
导出默认函数 useGet()
首页 2024-07-10 14:43:22
未定义,配置:对象)=> {
如果(网站){
轴
.get(网址,配置)
.then((res) => {
setGetRes(res.data);
setGetLoading(假);
})
.catch((错误) => {
setGetError(错误);
setGetLoading(假);
toast.error(apiErrors.server_network_error);
});
}
};
返回 { getData, getRes, getError, getLoading };
}
说明:当我搜索并创建图像时 useGet 当我使用这样的钩子时,我在通灵时遇到了问题。每次我使用这个钩子,这个问题都会导致无限循环!我提供了一个函数 useGet 返回调用端来解决这个问题,而不是调用自己的钩子。
你可以清楚地看到它。(getdata函数)
我们在那个钩子里真正做的是这样的:
1-设置所需状态
2-声明 getData 函数(函数向给定 url 发送 get 请求并在我们的状态下保存响应和错误)
3-返回我们写的所有状态和函数
如何使用它?我不得不说它会是这样的:
const {getData , getRes , getErrors , getLoading} = useGet()
()使用效果()=> {
异步 const fetche = () => {
等待 getData({url : '/api/users' , 配置 : {}});
}
},[])
// 你的渲染逻辑
我不知道我是如何很好地解释代码中发生的事情的,但我希望你能理解这一点。
usePost 自定义挂钩
代码:
从“axios导入axios;
导入“反应”{useState};
从“../../features/utils/ApiErrorMessages.json”导入 apiErrors;
从“react-toastify”导入{toast};
输入 postDataProps = {
网站:字符串
我相信我们正在开发复杂而大规模的开发 React 在应用程序中,每个人都会为代码的可重用性而挣扎。一种方法是(用于(用于) api 调用的自定义挂钩)。让我们开始创建它们。
第一,我为我糟糕的写作感到抱歉。我的语言不是英语:)
当然,我们必须在应用程序中多次从服务器获取数据。那么,我们如何才能有效地处理这些需求呢?
使用获取自定义挂钩
自定义钩的代码如下:
axios从axios导入axios;
“反应”导入“反应”{useState};
从“react-toastify”导入{toast};
从“../../features/utils/ApiErrorMessages.json”导入 apiErrors;
导出默认函数 useGet()
WPS高效粘贴,保留格式,轻松复制无忧!
我的项目需要一些使用 React GSAP Flip 帮助-css教程
权威发布:备份一体机排名TOP榜单揭晓
高效操作:Excel表格秒变Word文档内容
使用 CSS Translate 属性创建动态搜索栏-css教程
Android 13强化安全,data文件夹禁止直接复制!
相关文章
我的项目需要一些使用 React GSAP Flip 帮助-css教程
使用 CSS Translate 属性创建动态搜索栏-css教程
了解 Vue.js 中的 Composition API 与 Options API:选哪一个?-js教程
CSS 页面声明结构-css教程
免费工具:Mesher-css教程
了解分支机构的覆盖范围:综合指南-js教程
工厂设计模式-Golang
PHP 如何保证框架部署的顺利切换?-php教程
PHP 如何保证框架错误处理的最佳实践代码健壮?-php教程
C 在可维护性方面,框架与Java框架的比较-C
Python简介-Python教程
在 C 在框架中使用设计模式有什么好处?-C