React Native:undefined不是对象(评估'RNViewShot.CacheDir')

时间:2017-08-14 03:30:30

标签: android react-native react-native-android

我正在尝试在我的应用中使用react-native-view-shot。但是我一直收到错误:

  

undefined不是对象(评估'RNViewShot.CacheDir')

我试图清理+重建项目,但似乎根本没有任何影响。我也关闭并重新启动打包器,但错误仍然存​​在。我检查了android文件夹中的文件,所有需要的代码都在那里(根据手动安装部分)。任何人都知道如何解决这个问题?我需要用它来拍摄部分屏幕的截图。

React Native version:0.46.1

平台:Android

测试设备:仿真器(Nexus_5_API_24)

更新:

我做了几件事后设法使应用程序正常运行。

我注意到在打包器中有关于kFSEventStreamEventFlagUserDropped的警告。根据{{​​3}},这是因为系统限制受到了限制。所以我做的是:

  1. 将.watchmanconfig文件中的fsevents_latency参数设置为 0.02。
  2. 关闭守望者。
  3. 重启我的电脑(这是因为我的电脑滞后,不确定是否有任何影响)

  4. 运行react-native start再次启动打包程序。

  5. 启动模拟器。

  6. 运行react-native run-android。

  7. 我不确定究竟是什么导致了这个问题,但我最好的猜测是;由于系统已达到极限,因此无法完全编译模块。这导致模块无法正确加载,从而导致错误。因此,增加限制允许它完全处理所有内容。

1 个答案:

答案 0 :(得分:0)

通常这意味着您无法正确安装库,因为NativeModules没有导出库。因此,我会再次查看手动安装指南,或尝试重新与react-native link进行自动关联。

如果失败,则可能是React Native包装程序的缓存问题。因此,请停止打包程序,并从应用程序项目目录中使用npm start -- --reset-cache重置缓存。