不变违规:试图用@react-navigation/stack 注册两个同名的视图 RNCSafeAreaProvider 错误

Zee*_*han 11 reactjs react-native react-navigation-stack react-navigation-v5

当我尝试使用时import {createStackNavigator} from @react-navigation/stack,它给了我一个错误

Invariant Violation: Tried to register two views with the same name RNCSafeAreaProvider

我试图找到解决方案,但没有任何帮助。

在此处输入图片说明

vah*_*det 18

就我而言,是两个不同的masked-viewpackage.json造成的:

"@react-native-community/masked-view": "0.1.10",
"@react-native-masked-view/masked-view": "0.2.4",
Run Code Online (Sandbox Code Playgroud)

ReactNavigation5需要 @react-native-community/masked-view,而react-native-skeleton-placeholder有其他为前提。因此,观察您的依赖项,您可以删除其中一个来消除此错误。


小智 17

不变违规:试图用@react-navigation/stack 注册两个同名的视图 RNCSafeAreaProvider 错误

这意味着您多次安装了相同的扩展。

运行“npm dedupe”命令解决了我的问题。

  • 如果您使用的是yarn,它会显示:错误 不需要重复数据删除命令。`yarn install` 已经进行了重复数据删除。 (2认同)
  • `npm deduc` 解决了我的问题 (2认同)

Buk*_*and 15

刚跑

expo upgrade
Run Code Online (Sandbox Code Playgroud)

解决了我的问题。


Aay*_*rya 13

重新安装react-native-safe-area-context在世博会上对我有用。


ako*_*liy 8

Github 上的修复很少Github 上针对这个包问题的可以解决上述可怕的错误,其中之一恰好对我有用。我将在这里重点介绍一些修复,并点击链接了解更多信息。

请按照以下步骤修复它,但我只尝试了最后一部分:

  • 删除node_modules和你的锁文件(package-lock.json/yarn.lock)
  • 将package.json中的expo包版本更改为38.0.8
  • 从 package.json 中删除react-native-safe-area-context
  • 跑步yarn or npm install

以下步骤对我有用。

  • 跑步expo install react-native-safe-area-context

谢谢brentvatne

  • 帮助我的那行:“expo install react-native-safe-area-context” (2认同)

Saa*_*mar 3

就我而言,我忘记在index.jsimport 'react-native-gesture-handler';文件顶部添加一行

如果你没有安装它,那么你必须先使用命令安装它 npm install react-native-gesture-handler

或者

yarn add react-native-gesture-handler