NetInfo 已从 react-native 核心中删除。它应该使用以下命令作为独立依赖项安装:
yarn add @react-native-community/netinfo
or:
npm install --save @react-native-community/netinfo
可以在此github 链接上找到分步说明
我按照上述链接中提到的这些步骤进行操作,但并没有完全解决问题。稍微挖掘一下问题后,我发现在node_modules/react-native-meteor/src/Meteor.js中,他们仍在从 'react-native' 导入 NetInfo 并使用旧功能
import { Platform, View, NetInfo } from 'react-native';
NetInfo.isConnected.fetch().then(
(connected ) => {
if(connected)
NetInfo.isConnected.addEventListener('connectionChange', isConnected => {
if (isConnected && Data.ddp.autoReconnect) {
Data.ddp.connect();
}
});
}
);
现在已经过时了。
它必须从@react-native-community/netinfo 导入
在node_modules/react-native-meteor/src/Meteor.js中进行以下更改后。错误修复:
import { Platform, View } from 'react-native';
import NetInfo from "@react-native-community/netinfo";
NetInfo.fetch().then(state => {
console.log("Connection type", state.type);
console.log("Is connected?", state.isConnected);
let isConnected = state.isConnected;
if(isConnected)
NetInfo.isConnected.addEventListener('connectionChange', isConnected => {
if (isConnected && Data.ddp.autoReconnect) {
Data.ddp.connect();
}
});
});