React Native 中的 NetInfo 模块的 removeEventListener() 方法

返回上一级

React Native 中的 NetInfo 模块的 removeEventListener() 用于移除一个网络状态变更监听器。

语法

// 回调函数
function handleFirstConnectivityChange(connectionInfo) {
    console.log(
      'First change, type: ' +
        connectionInfo.type +
        ', effectiveType: ' +
        connectionInfo.effectiveType,
    );
}

// 添加
NetInfo.addEventListener('connectionChange', handleFirstConnectivityChange);

//移除
NetInfo.removeEventListener('connectionChange',handleFirstConnectivityChange);

导入模块

import { NetInfo } from 'react-native'

或者

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

方法说明

原型 平台 说明
static NetInfo.removeEventListener(eventName, handler) Android,iOS 移除一个网络状态变更监听器

参数说明

参数 类型 是否必传 说明
eventName enum(connectionChange, change) 要监听的事件名称,一般为 'connectionChange'
handler function 监听函数

范例

下面的范例,使用 NetInfo 模块的 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 = {
      connectionInfo:{
        type:'none',
        effectiveType:'ethernet'
      }
    }

    // 添加
    NetInfo.addEventListener('connectionChange', this.handleFirstConnectivityChange.bind(this));

    var that = this;
    NetInfo.getConnectionInfo().then((connectionInfo) => {
      that.setState({connectionInfo})
    });
  }

  // 回调函数
  handleFirstConnectivityChange(connectionInfo) {
    this.setState({connectionInfo})

    //移除
    NetInfo.removeEventListener('connectionChange',this.handleFirstConnectivityChange.bind(this));
  }

  render() {

    const {connectionInfo} = this.state

    return (
      <View>
          <Text>当前的网络类型是 {connectionInfo.type } - {connectionInfo.effectiveType} </Text>
          <Text>简单教程简单编程 (https://www.twle.cn)</Text>
      </View>
    );
  }
}

返回上一级

React Native 中文文档

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

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

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