NetInfo 模块的 isConnected 属性的 removeEventListener() 方法

返回上一级

React Native 中的 NetInfo 模块的 isConnected 属性的 removeEventListener() 方法用于移除之前注册的网络变更监听器

Android

要在 Android 上获取联网状态,还需要在 AndroidManifest.xml 中添加如下权限请求

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

使用方式

function handleFirstConnectivityChange(isConnected) {
  console.log('Then, is ' + (isConnected ? 'online' : 'offline'));
}


NetInfo.isConnected.removeEventListener(
  'connectionChange',
  handleFirstConnectivityChange
);

导入模块

import { NetInfo } from 'react-native'

或者

import NetInfo from "@react-native-community/netinfo";

原型

原型 平台 说明
static removeEventListener() Android,iOS 移除之前注册的网络变更监听器

范例

下面的范例,使用 NetInfo 模块的 isConnected 属性的 addEventListener() 方法注册一个监听器,用于处理网络状态:'online' or 'offline' 变更时的回调

然后,当网络状态发生变更后,立即使用 removeEventListener() 方法移除该事件监听器

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.addEventListener(
      'connectionChange',
      this.handleFirstConnectivityChange.bind(this)
    );

    NetInfo.isConnected.fetch().then(isConnected => {
        that.setState({isConnected})
    });
  }


  handleFirstConnectivityChange(isConnected) {
    this.setState(isConnected)
    NetInfo.isConnected.removeEventListener(
      'connectionChange',
      this.handleFirstConnectivityChange.bind(this)
    );
  }

  render() {

    const {isConnected} = this.state

    return (
      <View>
          <Text>当前的网络状态是 {isConnected ? '有网络' : '无网络' } </Text>
          <Text>简单教程简单编程 (https://www.twle.cn)</Text>
      </View>
    );
  }
}

返回上一级

React Native 中文文档

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.