Android React本机React导航安全区域问题
我更新了我的android项目,Android React本机React导航安全区域问题,android,reactjs,react-native,react-navigation,Android,Reactjs,React Native,React Navigation,我更新了我的android项目,react navigation was 3.x,移动到5.x,决定实施必要的更改,但它不起作用,从react navigation页面复制了示例,但仍然显示相同的错误,有人知道问题出在哪里吗?我搜索了一半的互联网,却找不到解决办法 My package.json: { "name": "BusinessCard", "version": "0.0.1", "pr
react navigation was 3.x
,移动到5.x
,决定实施必要的更改,但它不起作用,从react navigation页面复制了示例,但仍然显示相同的错误,有人知道问题出在哪里吗?我搜索了一半的互联网,却找不到解决办法
My package.json:
{
"name": "BusinessCard",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"@react-native-community/masked-view": "^0.1.10",
"@react-navigation/native": "^5.7.0",
"@react-navigation/stack": "^5.7.0",
"react": "^16.13.1",
"react-native": "^0.63.0",
"react-native-gesture-handler": "^1.6.1",
"react-native-reanimated": "^1.9.0",
"react-native-safe-area-context": "^3.1.1",
"react-native-safe-area-view": "^1.1.1",
"react-native-screens": "^2.9.0"
},
"devDependencies": {
"@babel/core": "^7.10.4",
"@babel/runtime": "^7.10.4",
"babel-jest": "^24.9.0",
"jest": "^24.9.0",
"metro-react-native-babel-preset": "^0.53.1",
"react-test-renderer": "16.8.3"
},
"jest": {
"preset": "react-native"
}
}
我复制的代码:
import 'react-native-gesture-handler';
import * as React from 'react';
import { StyleSheet, View, Text, TouchableHighlight } from "react-native";
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
function HomeScreen() {
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text>Home Screen</Text>
</View>
);
}
const Stack = createStackNavigator();
function App() {
return (
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen name="Home" component={HomeScreen} />
</Stack.Navigator>
</NavigationContainer>
);
}
export default App;
您正在尝试:cd ios&&pod安装&&cd。。
然后关闭应用程序,关闭所有终端并重建应用程序。希望对您有所帮助。在较新版本的React Navigation中,我们必须手动安装
React native safe area
甚至React native screens
。我通过执行sudo npm install react native safe area
,sudo npm install react native screens
解决了类似的问题。然后从我的android中清除应用程序数据并重新安装应用程序。打开新的终端(Ubuntu 20.04 LTS),然后运行npm start
。试试这个,可能会有帮助。我有一个只针对android的解决方案。也就是说,您只需要在终端中执行以下步骤
[您的项目路径]\>cd android
并输入
那么,
如果您在PowerShell中,请键入下面的命令
[您的项目路径]\android\>。/gradlew clean
如果在cmd中,请键入下面的命令
[您的项目路径]\android\>gradlew clean
然后重新启动您的react native项目。这确实有效,我相信这不是我第一次遇到这种情况……不要使用sudo安装dependencies我想我没有以正确的方式设置终端,没有超级用户(sudo)命令,我不仅无法安装dependencies,而且无法安装所有其他简单文件。
Invariant Violation: requireNativeComponent: "RNCSafeAreaProvider" was not found in the UIManager.
This error is located at:
in RNCSafeAreaProvider (at SafeAreaContext.tsx:74)
in SafeAreaProvider (at SafeAreaProviderCompat.tsx:42)
in SafeAreaProviderCompat (at StackView.tsx:432)
in GestureHandlerRootView (at GestureHandlerRootView.android.js:31)
in GestureHandlerRootView (at StackView.tsx:431)
in StackView (at createStackNavigator.tsx:82)
in StackNavigator (at App.js:27)
in EnsureSingleNavigator (at BaseNavigationContainer.tsx:376)
in ForwardRef(BaseNavigationContainer) (at NavigationContainer.tsx:91)
in ThemeProvider (at NavigationContainer.tsx:90)
in ForwardRef(NavigationContainer) (at App.js:26)
in App (at renderApplication.js:45)
in RCTView (at View.js:34)
in View (at AppContainer.js:106)
in RCTView (at View.js:34)
in View (at AppContainer.js:132)
in AppContainer (at renderApplication.js:39)
[Sat Jul 11 2020 15:11:50.561] ERROR Invariant Violation: requireNativeComponent: "RNCSafeAreaProvider" was not found in the UIManager.
This error is located at:
in RNCSafeAreaProvider (at SafeAreaContext.tsx:74)
in SafeAreaProvider (at SafeAreaProviderCompat.tsx:42)
in SafeAreaProviderCompat (at StackView.tsx:432)
in GestureHandlerRootView (at GestureHandlerRootView.android.js:31)
in GestureHandlerRootView (at StackView.tsx:431)
in StackView (at createStackNavigator.tsx:82)
in StackNavigator (at App.js:27)
in EnsureSingleNavigator (at BaseNavigationContainer.tsx:376)
in ForwardRef(BaseNavigationContainer) (at NavigationContainer.tsx:91)
in ThemeProvider (at NavigationContainer.tsx:90)
in ForwardRef(NavigationContainer) (at App.js:26)
in App (at renderApplication.js:45)
in RCTView (at View.js:34)
in View (at AppContainer.js:106)
in RCTView (at View.js:34)
in View (at AppContainer.js:132)
in AppContainer (at renderApplication.js:39)