NetInfo 模块的 isConnected 属性的 fetch() 方法
React Native 中的 NetInfo 模块的 isConnected 属性的 fetch()
方法以异步方式获取一个字符串,返回当前网络的状态:
'online'
有网络'offline'
无网络
其实 NetInfo.isConnected.fetch()
方法是 NetInfo.getConnectionInfo().then()
的别名
Android
要在 Android 上获取联网状态,还需要在
AndroidManifest.xml
中添加如下权限请求
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
语法
NetInfo.isConnected.fetch().then(isConnected => { console.log('First, is ' + (isConnected ? 'online' : 'offline')); });
导入模块
import { NetInfo } from 'react-native'
或者
import NetInfo from "@react-native-community/netinfo";
方法说明
原型 | 返回值 | 平台 | 说明 |
---|---|---|---|
static fetch() | string | Android,iOS | 以异步方式获取一个字符串,返回当前网络的状态 |
范例
下面的范例,使用 NetInfo
模块的 isConnected
属性的 fetch()
方法立即获取网络的状态: 'online'
or 'offline'
import React, {Component} from 'react'; import {Text,View, NetInfo} from 'react-native'; export default class App extends Component{ constructor(props) { super(props) this.state = { isConnected: 'offline' } var that = this; NetInfo.isConnected.fetch().then(isConnected => { that.setState({isConnected}) }); } render() { const {isConnected} = this.state return ( <View> <Text>当前的网络状态是: {isConnected ? '有网络' : '无网络' } </Text> <Text>简单教程,简单编程 (https://www.twle.cn)</Text> </View> ); } }