不变违规:requireNativeComponent:在 UIManager 中找不到“RNCSafeAreaProvider”

da *_*nut 35 react-native expo

在安装包的项目中实现 React Navigatenpm install @react-navigation/native @react-navigation/stack显示如下错误。

这是我的错误

谁能帮我解决这个问题?

Pat*_*one 38

TL; 博士

尝试升级您的 expo CLInpm install -g expo-cli并运行expo update以修复依赖项。

我的情况

我今天在尝试设置 React Navigation 时在 expo 应用程序中遇到了这个问题。

启动 expo 时,我在控制台中注意到此消息

Some of your project's dependencies are not compatible with currently installed expo package version:
 - react-native-reanimated - expected version range: ~1.7.0 - actual version installed: ^1.9.0
 - react-native-screens - expected version range: ~2.2.0 - actual version installed: ^2.8.0
 - react-native-safe-area-context - expected version range: 0.7.3 - actual version installed: ^2.0.0
 - @react-native-community/masked-view - expected version range: 0.1.6 - actual version installed: ^0.1.10
Your project may not work correctly until you install the correct versions of the packages.
To install the correct versions of these packages, please run: expo install [package-name ...]
Run Code Online (Sandbox Code Playgroud)

更新 expo 并运行 expo update 以将依赖项设置为与我的 SDK 兼容的内容似乎解决了我的问题

npm install -g expo-cli
expo update
Run Code Online (Sandbox Code Playgroud)

我注意到一些依赖项已恢复为现在似乎可以工作的旧版本。例如(在 package.json 中):

-"react-native-safe-area-context": "^2.0.0",
+"react-native-safe-area-context": "0.7.3",
Run Code Online (Sandbox Code Playgroud)

即使警告消息明确指示我expo install为每个有问题的依赖项运行,这样做也会导致抛出错误的版本相同。

  • 我通过手动安装 `+"react-native-safe-area-context": "0.7.3",` 解决了这个问题,但这种方法看起来更好哈哈! (2认同)

小智 29

停止运行您的应用程序。做npx pod-install ios。然后重建你的应用程序。这对我有用。