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相关推荐

  1. 《React Native 精解与实战》书籍连载「React Native 网络请求与列表绑定」

    此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...

  2. React Native --网络请求(fetch)

    几乎市面上的App都少不了从服务器上获取数据,这就需要进行网络请求,RN中集成了很不错的链式请求数据的方法(fetch API). RN网络请求常用方法 fetch: 发送请求,默认Get请求 the ...

  3. vue 网络请求 axios vue POST请求 vue GET请求 代码示例

    QQ技术交流群 173683866 526474645 欢迎加入交流讨论,打广告的一律飞机票 1.安装 axios 和 vue-axios 和 qs (qs是为了解决post默认使用的是x-www-f ...

  4. 【React Native】请求设备权限

    React Native请求用户权限 Request user permissions from React Native, iOS + Android 参考链接:https://www.npmjs. ...

  5. 19. 详解网络请求Axios

    Axios是什么? Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中.我们知道 Promise 是 js 异步的一种解决方案,它最大的特性就是可以通过 . ...

  6. 【苹果相册推送】软件安装表现到ListView中,把网络请求来的数据存储下来

    推荐内容IMESSGAE相关 作者推荐内容 iMessage苹果推软件 *** 点击即可查看作者要求内容信息 作者推荐内容 1.家庭推内容 *** 点击即可查看作者要求内容信息 作者推荐内容 2.相册 ...

  7. 《React Native 精解与实战》已发售,附 80 集配套免费视频教程

    <React Native 精解与实战>是我撰写并由机械工业出版社出版的 React Native 实战书籍,书中讲解了 React Native 框架底层原理.React Native ...

  8. 给所有开发者的React Native详细入门指南

    本文为 Marno 原创,转载必须保留出处! 公众号[ aMarno ],关注后回复 RN 加入交流群 React Native 优秀开源项目大全:http://www.marno.cn 建议先下载好 ...

  9. vue中Axios网络请求之Vue知识点归纳(十)

    本文描述 vue 中 Axios 简述 vue 中使用 Axios 发起 get 请求 vue 中使用 Axios 发起 post 请求 1 简述 Axios是一个基于Promise(ES6中用于处理 ...

最新文章

  1. C++ primer第五版随笔--2015年1月6日
  2. ABAP的HTTP_GET和Linux的curl
  3. [No000092]SVN学习笔记3-Import/Checkout(迁入/迁出),GetLock(加锁)
  4. 算法练习day13——190401(前缀树、贪心策略拼接字符串使字典序最小)
  5. 在wildfly中使用SAML协议连接keycloak
  6. [数据结构]对称矩阵和三角矩阵压缩公式
  7. java中修改密码_java怎样修改用户名密码?
  8. 远离复杂公式推导,直接解决共线性
  9. SSH连接原理及ssh-key
  10. Android开发 Android Studio2.0 教程从入门到精通Windows版 - 入门篇
  11. 【图像分割】基于matlab GUI FCMKFCM MRI图像分割【含Matlab源码 582期】
  12. linux命令行改变时区,Linux命令行操作修改系统时区
  13. java lbp_OpenCV中基于LBP算法的人脸检测测试代码
  14. python做一个爬虫要用到什么软件_python实现简单爬虫功能
  15. visio显示形状窗口
  16. 人人影视路由二代刷Breed
  17. [ 项目篇 ] 02 - LiveSpeaker项目的硬件平台选型
  18. 计算机中的PS颜色填充快捷键,ps颜色填充快捷键【解决技巧】
  19. 攻防世界--杂项misc-János-the-Ripper--题解
  20. 中文编码标准GB2312, GB18030的下载地址

热门文章

  1. 白话Elasticsearch49-深入聚合数据分析之 Percentile Ranks Aggregation-percentiles rank以及网站访问时延SLA统计
  2. Spring Boot2.x-05Spring Boot基础-使用注解完成依赖注入
  3. 实战SSM_O2O商铺_21【商铺列表】Dao层开发
  4. Spring-AOP @AspectJ进阶之增强织入的顺序
  5. golang检查tcp是否可用_宕机处理:Kubernetes集群高可用实战总结
  6. 关于Gauss-Seidel迭代法的Python实现
  7. android view setx,Android的setX()和setY()表现不可思议
  8. 路面平整度采集和计算方法
  9. YOLO系列算法精讲:从yolov1至yolov4的进阶之路
  10. HTML学习04之内联框架和表单