首页 > 解决方案 > React Native:使用“React-Native-FS”时的不变违规

问题描述

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

Invariant Violation: Native Module Cannot Be Null

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

标签: react-nativereact-native-fs

解决方案


尝试将您的图书馆与

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 将 RNFS pod 添加到 Podfile 中的应用程序 pod 列表中,使用从 Podfile 到已安装模块的路径:~~

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

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

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

运行你的项目 (Cmd+R)


推荐阅读