react-native - 如何在 Expo React Native 应用程序中检查互联网连接?
问题描述
我有一个使用托管工作流的 Expo 应用程序。该应用程序需要检查互联网连接是否可用。
- 我不能,
import { NetInfo } from 'react-native'
因为那已被弃用。 - 我不能使用react-native-community/react-native-netinfo因为它使用本地库,而你不能使用 Expo 托管应用程序来做到这一点。
- 我可以弹出,以使用上述内容,但我似乎不需要这样做只是为了检查是否有互联网连接。
- 我不能使用
navigator.onLine
,因为该全局变量似乎不可用。 - 我可以向 Google 或我自己的服务器或其他任何东西发出一个微不足道的 HTTP 请求,看看我是否得到响应,但这只会测试与一个站点的连接,而且它需要时间和带宽。
我应该怎么办?
解决方案
的使用NetInfo
。react-native
是的,它已被弃用,因为他们计划在下一个版本中删除它以react-native
支持社区版本。但是,它功能齐全,现在仍然可以使用,只需确保在下一个版本Expo SDK
发布时检查是否存在重大更改。
删除它时,Expo 很可能会将其带入其管理的工作流程react-native
中,或者提供不需要从 Expo 中退出的替代方案。
推荐阅读
- haskell - 在 Haskell 中为 Monad-Transformers 实现 liftIO 风格的提升
- sql - 如何将 JSON 数组(或 JSON 数组)传递给 pg 函数以插入到表中?
- arrays - 数组索引
- variables - jsPDF GetVar 不适用于数字变量
- sqlite - SQLITE 创建表语法错误(代码 1 SQLITE_ERROR[1])
- bash - 根据 mime 类型重命名文件
- python - 加载和解析本地 JSON 文件
- sql - SQL 空间/多边形数据不正确或不一致的问题
- javascript - 为什么 ReactDOM.render 创建虚拟 DOM 后需要再次调用函数或类组件?
- drop-down-menu - 如何使下拉菜单与其他菜单项保持一致?