繁体   English   中英

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

[英]Invariant Violation: Invariant Violation: requireNativeComponent: "RNCSafeAreaView" was not found in the UIManager."

我收到错误:不变违规:不变违规:requireNativeComponent:“RNCSafeAreaView”未在 UIManager 中找到。“而我想在 Android 的反应本机中使用堆栈导航器。 这个链接也没有帮助。这是我的包。 json 文件:

{
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "eject": "expo eject"
  },
  "dependencies": {
    "@react-native-community/masked-view": "^0.1.6",
    "expo": "35.0.0",
    "react": "~16.9.0",
    "react-dom": "~16.9.0",
    "react-native": "0.59.8",
    "react-native-gesture-handler": "^1.3.0",
    "react-native-reanimated": "^1.2.0",
    "react-native-safe-area-context": "^0.3.6",
    "react-native-screens": "^1.0.0-alpha.23",
    "react-native-web": "~0.11.7",
    "react-navigation": "^4.0.10",
    "react-navigation-stack": "^2.0.15"
  },
  "devDependencies": {
    "@babel/core": "^7.0.0",
    "babel-preset-expo": "~8.0.0",
    "jetifier": "^1.6.5"
  },
  "private": true
}

这是我的导航组件:

import { createStackNavigator } from "react-navigation-stack";
import { createAppContainer } from "react-navigation";

import Home from "../screens/Home";
import ReviewDetails from "../screens/ReviewDetails";

const screens = {
  home: {
    screen: Home
  },
  reviewDetails: {
    screen: ReviewDetails
  }
};

const homeStack = createStackNavigator(screens);

export default createAppContainer(homeStack);

我应该怎么办?

我遇到了同样的问题,为了解决它,我重新创建了项目并安装了以下依赖项:

   expo install react-navigation
   expo install react-navigation-stack
   expo install react-native-gesture-handler
   expo install react-native-safe-area-context
   expo install @react-native-community/masked-view

这是我的package.json

{
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "eject": "expo eject"
  },
  "dependencies": {
    "expo": "~36.0.0",
    "react": "~16.9.0",
    "react-dom": "~16.9.0",
    "react-native": "https://github.com/expo/react-native/archive/sdk-36.0.0.tar.gz",
    "react-native-web": "~0.11.7",
    "react-navigation": "^4.0.10",
    "react-navigation-stack": "^2.0.16",
    "react-native-gesture-handler": "~1.5.0",
    "react-native-safe-area-context": "0.6.0",
    "@react-native-community/masked-view": "0.1.5"
  },
  "devDependencies": {
    "babel-preset-expo": "~8.0.0",
    "@babel/core": "^7.0.0"
  },
  "private": true
}

希望对您有所帮助!

重建项目

反应本机运行android

为我工作。 :)

我想,我们都在遵循相同的 React Navigation 教程。 我正在研究 React Native(不是 expo),正如 Sumit Rawat 建议的那样,重建项目可以解决问题。 就我而言,我跑了:

react-native run-ios

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM