【问题标题】:React Native: Invariant Violation when using "React-Native-FS"React Native:使用“React-Native-FS”时的不变违规
【发布时间】:2020-01-31 03:22:36
【问题描述】:

我在开发 React Native 应用程序时一直在尝试使用“React-Native-FS”。但是,每当我尝试将“React-Native-FS”导入我的应用程序时,我都会收到以下消息:

Invariant Violation: Native Module Cannot Be Null

有人知道是什么原因造成的吗?我四处寻找,找不到答案。任何帮助将不胜感激。谢谢!

【问题讨论】:

  • 您是否将库与平台链接?
  • 是的,我试过了。不过谢谢!
  • 我也有同样的问题!你解决了吗?

标签: react-native react-native-fs


【解决方案1】:

尝试将您的图书馆与

链接
react-native link react-native-fs

如果未链接,请尝试使用以下步骤手动链接

安卓

... 1. android/settings.gradle
 include ':react-native-fs'
 project(':react-native-fs').projectDir = new File(settingsDir,'../node_modules/react-native-fs/android')

 2.android/app/build.gradle
 dependencies {
 implementation project(':react-native-fs')  
}

并且使用 android studio 构建 android 项目

IOS

使用 CocoaPods 添加 使用从 Podfile 到已安装模块的路径,将 RNFS pod 添加到 Podfile 中的应用程序 pod 列表中:~~

pod 'RNFS', :path => '../node_modules/react-native-fs' 像往常一样安装 pod:

吊舱安装 在 XCode 中手动添加 在 XCode 中,在项目导航器中,右键单击 Libraries ➜ Add Files to [your project's name] 转到 node_modules ➜ react-native-fs 并添加 .xcodeproj 文件

在 XCode 的项目导航器中,选择您的项目。将 RNFS 项目中的 lib*.a 添加到项目的 Build Phases ➜ Link Binary With Libraries。单击您之前在项目导航器中添加的 .xcodeproj 文件,然后转到 Build Settings 选项卡。确保打开“全部”(而不是“基本”)。查找标头搜索路径并确保它同时包含 $(SRCROOT)/../react-native/React 和 $(SRCROOT)/../../React - 将两者标记为递归。

运行你的项目(Cmd+R)

【讨论】:

  • 感谢您的回复!我已经尝试将它与您的第一个建议联系起来,遗憾的是这并没有奏效。至于其他两个建议,我正在使用 IntelliJ IDEA 和 Expo 的组合来开发我的应用程序。关于如何让它以这种方式运行的任何建议?编辑:通过进一步的研究,我发现 Expo 似乎不支持 React Native FS ......我想如果这是真的,我可能应该尝试其他解决方案之一......
  • 是的世博会不支持你必须退出当前世博会项目才能继续反应原生项目
猜你喜欢
  • 1970-01-01
  • 2018-07-07
  • 1970-01-01
  • 1970-01-01
  • 2018-10-04
  • 2019-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多