问题描述
我不断收到 RNSScreen 错误。我已按照 react-navigation guide 中的所有说明进行操作,但没有任何效果。
解决方法
看起来本地包不会自动链接。所以试试这个
注意:就您而言,它可以是 '../'
而不是 '../../../'
,因为我使用的是 Monorepo。
Podfile
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/'
然后安装 pods
yarn podinstall
然后终止已经运行的 MetroBundler 终端。 并且,再次构建应用
yarn ios
工作示例
/**
* @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);
确保 import 'react-native-gesture-handler';
是顶部