React Native 获取网络状态 NetworkInfo
发布时间:2020-12-15 03:31:29 所属栏目:百科 来源:网络整理
导读:React Native 获取网络状态 NetworkInfo react-native提供了了一个NetInfo类用来获取和监听网络状态。 属性与方法 1.addEventListener(eventName:ChangeEventName,handler:Function) 静态方法,用设置网络变化事件监听器,同时需要传入回调的处理方法 2.remo
React Native 获取网络状态 NetworkInforeact-native提供了了一个NetInfo类用来获取和监听网络状态。 属性与方法
构造工具类
/** * Created by eleven on 16/6/3. */
import React,{
NetInfo
} from 'react-native';
const NOT_NETWORK = "网络不可用,请稍后再试";
const TAG_NETWORK_CHANGE = "NetworkChange";
/*** * 检查网络链接状态 * @param callback */
const checkNetworkState = (callback) =>{
NetInfo.isConnected.fetch().done(
(isConnected) => {
callback(isConnected);
}
);
}
/*** * 移除网络状态变化监听 * @param tag * @param handler */
const removeEventListener = (tag,handler) => {
NetInfo.isConnected.removeEventListener(tag,handler);
}
/*** * 添加网络状态变化监听 * @param tag * @param handler */
const addEventListener = (tag,handler)=>{
NetInfo.isConnected.addEventListener(tag,handler);
}
export default{
checkNetworkState,addEventListener,removeEventListener,NOT_NETWORK,TAG_NETWORK_CHANGE
}
使用
//、、、
import NetWorkTool from '../../utils/NetWorkTool'
//、、、
handleMethod(isConnected){
console.log('test',(isConnected ? 'online' : 'offline'));
}
//、、、
constructor(props) {
super(props);
NetWorkTool.checkNetworkState((isConnected)=>{
if(!isConnected){
Toast.show(NetWorkTool.NOT_NETWORK);
}
});
}
componentWillMount() {
NetWorkTool.removeEventListener(NetWorkTool.TAG_NETWORK_CHANGE,this.handleMethod);
}
componentWillUnmount() {
NetWorkTool.removeEventListener(NetWorkTool.TAG_NETWORK_CHANGE,this.handleMethod);
}
//、、、
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |