我们通过以下方式使用 native NetInfo。

export default class NetworkStatus extends React.PureComponent {
 constructor(props){
  super(props);

   NetInfo.addEventListener(
     'change',
     this.onConnectivityChange
  );
 }

 onConnectivityChange = (status) => {
   NetInfo.isConnected.fetch().then(isConnected => {
     console.log('*********Network status ' + (isConnected ? 'online' :
    'offline'));
 });
}
在离线模式下启动该应用程序。我们得到了以下控制台。

然后,我们打开了wifi并已连接。但是我们有两次离线控制台。

这是NetInfo库中的错误吗?有没有办法解决它。
使用的版本:
“ react ”:“16.0.0-alpha.6”
“react-native”:“0.44.0”,

最佳答案

你必须改变

NetInfo.addEventListener(
 'change',
 this.onConnectivityChange
);


NetInfo.addEventListener(
 'connectionChange',
 this.onConnectivityChange
);

10-06 01:34