err*_*ror 2 macos npm reactjs react-native npm-install
我不断收到 RNSScreen 错误。我已遵循反应导航指南上的所有说明,但没有任何效果对我有用。
看起来本机包不会自动链接。所以试试这个
注意:在你的情况下它可以是
'../'代替,'../../../'因为我正在使用 Monorepo。
pod 'RNScreens', :path => '../../../node_modules/react-native-screens/'
pod 'RNGestureHandler', :path => '../../../node_modules/react-native-gesture-handler/'
pod 'react-native-safe-area-context', :path => '../../../node_modules/react-native-safe-area-context/'
Run Code Online (Sandbox Code Playgroud)
然后安装 Pod
yarn podinstall
Run Code Online (Sandbox Code Playgroud)
然后终止已经运行的 MetroBundler 终端。并且,再次构建应用程序
yarn ios
Run Code Online (Sandbox Code Playgroud)
/**
* @format
*/
import 'react-native-gesture-handler';
import {AppRegistry} from 'react-native';
import SplashScreen from '../common/src/containers/splashScreen';
import LoginScreen from '../common/src/containers/loginScreen';
import LoginOTPScreen from '../common/src/containers/loginOTPScreen';
import SearchScreen from './src/searchScreen';
import React from 'react';
import {name as appName, displayName} from './app.json';
import {Provider as PaperProvider} from 'react-native-paper';
import {NavigationContainer} from '@react-navigation/native';
import {createStackNavigator} from '@react-navigation/stack';
import {enableScreens} from 'react-native-screens';
enableScreens();
const Stack = createStackNavigator();
const App = () => {
return (
<PaperProvider>
<NavigationContainer>
<Stack.Navigator initialRouteName="SplashScreen">
<Stack.Screen name="SplashScreen" component={SplashScreen} />
<Stack.Screen name="LoginScreen" component={LoginScreen} />
<Stack.Screen name="LoginOTPScreen" component={LoginOTPScreen} />
<Stack.Screen name="SearchScreen" component={SearchScreen} />
</Stack.Navigator>
</NavigationContainer>
</PaperProvider>
);
};
AppRegistry.registerComponent(appName, () => App);
Run Code Online (Sandbox Code Playgroud)
确保
import 'react-native-gesture-handler';是顶部
对于那些在 monorepo 中工作时遇到此错误的人(对我来说是 @nrwl/nx),这个解决方案对我有用。
https://github.com/nrwl/nx-react-native/issues/98#issuecomment-995299032
在应用程序的 package.json(而不是工作区根目录的 package.json)中添加以下包已经解决了 iOS 和 Android 的问题。
"@react-navigation/native": "*",
"@react-navigation/native-stack": "*",
"react-native-screens": "*",
"react-native-safe-area-context": "*"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13806 次 |
| 最近记录: |