必须将 NetInfo 传递给 networkMonitor 以启用 React Native 中的可访问性
Posted
技术标签:
【中文标题】必须将 NetInfo 传递给 networkMonitor 以启用 React Native 中的可访问性【英文标题】:NetInfo must be passed to networkMonitor to enable reachability in React Native 【发布时间】:2021-12-21 21:18:23 【问题描述】:组件在导入后使用的任何快照测试都出现以下错误
import Auth from 'aws-amplify';
测试套件无法运行
NetInfo must be passed to networkMonitor to enable reachability in React Native
at ReachabilityNavigator.Object.<anonymous>.ReachabilityNavigator.networkMonitor (node_modules/@aws-amplify/core/src/Util/Reachability.native.ts:20:10)
at Object.<anonymous> (node_modules/@aws-amplify/datastore/src/sync/datastoreReachability/index.native.ts:4:55)
at Object.<anonymous> (node_modules/@aws-amplify/datastore/src/sync/datastoreConnectivity.ts:3:1)
【问题讨论】:
【参考方案1】:如果您转到aws-aplify
代码,则会在此networkMonitor 函数中引发该错误,该函数在使用@react-native-community/netinfo
的其他place 中调用。模拟 lib README 中指示的依赖项应该可以解决问题。
如果您没有配置 Jest 安装文件,您应该添加 按照您的 Jest 设置并在其中创建 jest.setup.js 文件 项目根目录:
setupFiles: ['<rootDir>/jest.setup.js']
然后您应该添加 按照您的 Jest 设置文件来模拟 NetInfo 本机模块:
import mockRNCNetInfo from '@react-native-community/netinfo/jest/netinfo-mock.js'; jest.mock('@react-native-community/netinfo', () => mockRNCNetInfo);
【讨论】:
以上是关于必须将 NetInfo 传递给 networkMonitor 以启用 React Native 中的可访问性的主要内容,如果未能解决你的问题,请参考以下文章