在 UIManager 中找不到“RNGestureHandlerRootView”

Ros*_*iya 24 react-native expo react-native-gesture-handler

我需要修复这个错误。

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

这个错误位于: 在RNGestureHandlerRootView(由GestureHandlerRootView创建)中 在GestureHandlerRootView(由StackView创建)中 在StackView(由StackView创建)中 在StackView中 在Unknown(由Navigator创建)中 在Navigator(由SceneView创建)中 在SceneView(由SwitchView创建)中在SwitchView(由Navigator创建)中 在Navigator(由NavigationContainer创建)中 在NavigationContainer(由ExpoRoot创建)中 在ExpoRoot中 在RCTView(由View创建)中 在View(由AppContainer创建)中 在RCTView(由View创建)中 在View(由AppContainer创建)中) 在 AppContainer 中

Luc*_*des 40

最近我遇到了同样的问题。这是解决方案:

expo install react-native-gesture-handler
Run Code Online (Sandbox Code Playgroud)

import 'react-native-gesture-handler';
Run Code Online (Sandbox Code Playgroud)

在项目的根目录下,可能是 App.js 文件。

尝试使用文档,可以在这里找到它,这就是我解决此问题的方法: https ://reactnavigation.org/docs/getting-started/

  • 我已经按照你说的做了,但还是没能解决这个问题。您还可以提供进一步的帮助吗? (7认同)

Tra*_*der 16

1. 更新与expo的依赖关系

在现有的Expo project某些依赖项版本上,您安装的可能与 Expo 不兼容。这会导致此类错误。要解决此问题,您需要这些依赖项的正确版本。运行以下命令删除不兼容的版本并根据Expo的要求安装支持的版本。

expo update
Run Code Online (Sandbox Code Playgroud)

Y如果提示您批准,请确认该操作。然后重新启动您的应用程序。这将解决该问题。

2.安装所需依赖

react-native-gesture-handler如果您的项目中尚未安装,请安装它。

  • 如果您安装它,则expo可能不需要执行上述步骤 1。
expo install react-native-gesture-handler

Run Code Online (Sandbox Code Playgroud)
  • 但如果你安装通过npm或者yarn还需要按照上面的步骤1来操作。
npm install react-native-gesture-handler
Run Code Online (Sandbox Code Playgroud)
  • 要将其导入到 中App.js/ App.tsx,请将其放在文件的第一行,或根据需要使用:
import 'react-native-gesture-handler';
Run Code Online (Sandbox Code Playgroud)