有网状态:

断网状态:

代码如下:

注意:第一次参考了http://www.hangge.com/blog/cache/detail_1614.html代码,一直显示的是unknow状态。。。

最后处理代码如下:

import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
NetInfo
} from 'react-native'; // 参考博客: http://blog.csdn.net/zzx2436125/article/details/77482308
import App from './App'; class Root extends React.Component { //构造函数
constructor(props) {
super(props);
this.state = {
isConnected: null,
connectionInfo: null
};
} //页面的组件渲染完毕(render)之后执行
componentDidMount() { //检测网络是否连接
NetInfo.isConnected.fetch().done((isConnected) => {
this.setState({isConnected});
}); //检测网络连接信息
NetInfo.fetch().done((connectionInfo) => {
this.setState({connectionInfo});
// alert(connectionInfo);
}); //监听网络变化事件
NetInfo.addEventListener('change', (networkType) => {
this.setState({isConnected: networkType})
alert(networkType);
})
} async componentWillMount() {
let connect = false;
const netChange = (isConnect) => {
// NetInfo.isConnected.removeEventListener('change', netChange);
connect = isConnect;
} // RN获取网络状态(true/false)
async function getNetWorkState() {
if (Platform.OS === 'ios') {
// alert(connect);
await NetInfo.isConnected.addEventListener('change', netChange);
return connect;
} else {
return await NetInfo.isConnected.fetch();
}
}
return await NetInfo.isConnected.addEventListener('change', netChange);
} // 移除监听
componentWillUnMount() {
NetInfo.removeEventListener('change', netChange);
} render() {
return (
<App />
)
}
} export default Root;

总结:

这个检测网络状态他是实时检测断网和联网状态的,可以保存状态,每次请求的时候直接取状态即可。

最新文章

  1. ZooKeeper 笔记(5) ACL(Access Control List)访问控制列表
  2. 【Android】achartengine的柱状图和饼状图的使用
  3. 【python】Head First Python(五)
  4. .NET Nancy 详解(四) Self Host
  5. paper 103:ELM算法
  6. MongoDB 的分组操作 In C#
  7. PHP----SAPI
  8. dubbo负载均衡策略及对应源码分析
  9. 是否是有效的dom节点--轮子代码
  10. POJ 3928 &amp;amp; hdu 2492 &amp;amp; Uva1428 PingPong 【树状数组】
  11. linux升级python3.6相关命令
  12. Spring Boot配置定时任务
  13. Java后台使用Websocket教程
  14. 多线程下载图片,同步下载http://www.importnew.com/15731.html
  15. ECMA Script 6_行为重定义 Proxy
  16. Win10安装.NetFamework3.5
  17. 当通过Nuget包管理器获取还原组时,出现 提示 “xxxxx”已拥有为“xxxxx”定义的依赖项
  18. SqlServer中的查询简单总结
  19. ES系列二、CentOS7安装ES head6.3.1
  20. java 对一个字符串进行加减乘除的运算

热门文章

  1. c线程使用锁控制并发
  2. 导弹拦截( 二分+dilworth定理)
  3. python3 基础二——基本的数据类型二
  4. Java与CC++交互JNI编程
  5. 【转】BSON数据格式
  6. The &quot;web.xml&quot; is called web application deployment descriptor
  7. 使用 webpack-bundle-analyzer 分析 webpack 代码库拆分块
  8. c语言1博客作业05
  9. Top k Largest Numbers
  10. Gym - 101955K Let the Flames Begin 约瑟夫环