Expo React Native NetInfo 崩溃

Posted

技术标签:

【中文标题】Expo React Native NetInfo 崩溃【英文标题】:Expo React Native NetInfo crashing 【发布时间】:2020-05-10 00:37:39 【问题描述】:

环境

Expo CLI 3.11.7 环境信息: 系统: 操作系统:Linux 5.0 Ubuntu 18.04.3 LTS(仿生海狸) 外壳:4.4.20 - /bin/bash 二进制文件: 节点:12.14.0 - /usr/bin/node npm:6.13.4 - /usr/bin/npm npmPackages: @types/react: ~16.9.0 => 16.9.17 @types/react-native: ~0.60.23 => 0.60.25 世博会:~36.0.0 => 36.0.2 反应:~16.9.0 => 16.9.0 反应原生:https://github.com/expo/react-native/archive/sdk-36.0.0.tar.gz => 0.61.4 反应导航:^4.0.10 => 4.0.10 npmGlobalPackages: 世博会-cli:3.11.7

问题

我使用这里的博览会文档推荐的命令在博览会中安装了 netInfo https://docs.expo.io/versions/latest/sdk/netinfo/:expo install @react-native-community/netinfo 之后我只是尝试获取连接状态以检查是否一切正常添加下一个代码:

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

const MyCases = ( cases : Props) => 
useEffect(() => 
      (async function anyNameFunction() 
         const netInfoState = await NetInfo.fetch();
         console.warn(netInfoState);
      )();
   , []);
;

当我在 ios 中打开应用程序时,执行上述步骤后,它会立即崩溃并关闭。 另一方面,在 android 中它不会关闭,但会显示此错误消息:RNCNetInfo.getCurrentState got 3 arguments, expected 2 我不知道该怎么做,因为据说在 Expo 环境中链接是不需要也不可能的

【问题讨论】:

【参考方案1】:

此错误与 netinfo version@4.x.x 有关,以修复仅将模块更新到版本 @5.0.0

【讨论】:

以上是关于Expo React Native NetInfo 崩溃的主要内容,如果未能解决你的问题,请参考以下文章

必须将 NetInfo 传递给 networkMonitor 以启用 React Native 中的可访问性

如何让 NetInfo 与 expo-web 一起工作?

离线时发布(React-Native)

React-native (expo) - 无效类型

React Native - 如何构建 expo react native 应用程序,使其不需要 Expo android 应用程序打开

使用 react-native (expo) 切换手电筒