react native 网络请求 axios
react native的网络请求推荐使用axios和fetch 两种方式,当前阐述的是axios
1.安装axios
yarn add react-native-axios
2.创建一个js,进行基本的配置
let instance = axios.create({baseURL: 'https://some-domain.com/api/',timeout: 1000,headers: {'X-Custom-Header': 'foobar'} withCredentials:true });
baseURL:设置相对应的baseURL来传递URL
timeout:设置超时
withCredentials: 允许cookie
Headers:设置头部信息
method:设置请求方式(常见的有get,post,put,patch,delect)
responseType:设置接受的类型
3.拦截器
instance.interceptors.request.use(function (config) {const secretKey = getSecretKey()if (secretKey) { // 登录之后 store.getters.tokenconfig.headers['secret-key'] = secretKey} else {config.headers['action-key'] = getExternalKey()}return config }, function (error) {return Promise.reject(error); }); let alert = false; // 响应 instance.interceptors.response.use(response => {// 根据状态码做相应的事情const res = response.dataif (res.code === 1 && res.showMsg === true) { // 成功showToast(res.message,1500);}if (res.code === -2 && res.showMsg === true) { // 错误showToast(res.message,3000);}if (res.code === 2) { // 警告showToast(res.message,3000);}if (res.code === 1003) { // 权限不足 的情况showToast('账号权限不足!',2500);}if (res.code === 1004 && !alert) { // 获取不到用户信息 或 登录错误alert = trueshowToast('登录失败!',2500);}console.log(res);return res }, (error) => {showToast('出错了!请稍后再试!',5000);return Promise.reject(error); })
注:在react native IOS版本下无toast,自己手动安装
yarn add react-native-easy-toast
转载于:https://www.cnblogs.com/xx929/p/10174607.html
react native 网络请求 axios相关推荐
- 《React Native 精解与实战》书籍连载「React Native 网络请求与列表绑定」
此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...
- React Native --网络请求(fetch)
几乎市面上的App都少不了从服务器上获取数据,这就需要进行网络请求,RN中集成了很不错的链式请求数据的方法(fetch API). RN网络请求常用方法 fetch: 发送请求,默认Get请求 the ...
- vue 网络请求 axios vue POST请求 vue GET请求 代码示例
QQ技术交流群 173683866 526474645 欢迎加入交流讨论,打广告的一律飞机票 1.安装 axios 和 vue-axios 和 qs (qs是为了解决post默认使用的是x-www-f ...
- 【React Native】请求设备权限
React Native请求用户权限 Request user permissions from React Native, iOS + Android 参考链接:https://www.npmjs. ...
- 19. 详解网络请求Axios
Axios是什么? Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中.我们知道 Promise 是 js 异步的一种解决方案,它最大的特性就是可以通过 . ...
- 【苹果相册推送】软件安装表现到ListView中,把网络请求来的数据存储下来
推荐内容IMESSGAE相关 作者推荐内容 iMessage苹果推软件 *** 点击即可查看作者要求内容信息 作者推荐内容 1.家庭推内容 *** 点击即可查看作者要求内容信息 作者推荐内容 2.相册 ...
- 《React Native 精解与实战》已发售,附 80 集配套免费视频教程
<React Native 精解与实战>是我撰写并由机械工业出版社出版的 React Native 实战书籍,书中讲解了 React Native 框架底层原理.React Native ...
- 给所有开发者的React Native详细入门指南
本文为 Marno 原创,转载必须保留出处! 公众号[ aMarno ],关注后回复 RN 加入交流群 React Native 优秀开源项目大全:http://www.marno.cn 建议先下载好 ...
- vue中Axios网络请求之Vue知识点归纳(十)
本文描述 vue 中 Axios 简述 vue 中使用 Axios 发起 get 请求 vue 中使用 Axios 发起 post 请求 1 简述 Axios是一个基于Promise(ES6中用于处理 ...
最新文章
- C++ primer第五版随笔--2015年1月6日
- ABAP的HTTP_GET和Linux的curl
- [No000092]SVN学习笔记3-Import/Checkout(迁入/迁出),GetLock(加锁)
- 算法练习day13——190401(前缀树、贪心策略拼接字符串使字典序最小)
- 在wildfly中使用SAML协议连接keycloak
- [数据结构]对称矩阵和三角矩阵压缩公式
- java中修改密码_java怎样修改用户名密码?
- 远离复杂公式推导,直接解决共线性
- SSH连接原理及ssh-key
- Android开发 Android Studio2.0 教程从入门到精通Windows版 - 入门篇
- 【图像分割】基于matlab GUI FCMKFCM MRI图像分割【含Matlab源码 582期】
- linux命令行改变时区,Linux命令行操作修改系统时区
- java lbp_OpenCV中基于LBP算法的人脸检测测试代码
- python做一个爬虫要用到什么软件_python实现简单爬虫功能
- visio显示形状窗口
- 人人影视路由二代刷Breed
- [ 项目篇 ] 02 - LiveSpeaker项目的硬件平台选型
- 计算机中的PS颜色填充快捷键,ps颜色填充快捷键【解决技巧】
- 攻防世界--杂项misc-János-the-Ripper--题解
- 中文编码标准GB2312, GB18030的下载地址
热门文章
- 白话Elasticsearch49-深入聚合数据分析之 Percentile Ranks Aggregation-percentiles rank以及网站访问时延SLA统计
- Spring Boot2.x-05Spring Boot基础-使用注解完成依赖注入
- 实战SSM_O2O商铺_21【商铺列表】Dao层开发
- Spring-AOP @AspectJ进阶之增强织入的顺序
- golang检查tcp是否可用_宕机处理:Kubernetes集群高可用实战总结
- 关于Gauss-Seidel迭代法的Python实现
- android view setx,Android的setX()和setY()表现不可思议
- 路面平整度采集和计算方法
- YOLO系列算法精讲:从yolov1至yolov4的进阶之路
- HTML学习04之内联框架和表单