React Native堆栈导航器无法在ios设备上工作



我曾试图为这个问题寻找解决方案,但没有成功。我的项目由expo管理,它包含一个简单的堆栈导航器。它在安卓设备上运行良好,但在ios设备上则不然。我使用以下文档创建了堆栈导航器:https://reactnavigation.org/docs/getting-started/。文件上说我应该安装pod,但我无法安装,因为我没有mac。它会因为没有安装pod而无法工作吗?如何解决这个问题?非常感谢您的帮助!

这是我的应用程序.js,以备不时之需:

import * as React from 'react';
import { createStackNavigator } from '@react-navigation/stack';
import { NavigationContainer } from '@react-navigation/native';
import StartingScreen from './screens/StartingScreen';
import LogInScreen from './screens/LogInScreen';
import RegisterScreen from './screens/RegisterScreen';
const Stack = createStackNavigator();
export default function App() {
return (
<NavigationContainer>
<Stack.Navigator screenOptions={{ headerShown: false }} initialRouteName="StartingScreen" >
<Stack.Screen name="StartingScreen" component={StartingScreen} />
<Stack.Screen name="LogInScreen" component={LogInScreen} />
<Stack.Screen name="RegisterScreen" component={RegisterScreen} />
</Stack.Navigator>
</NavigationContainer>
);
}

您的代码似乎没有任何问题。在Expo管理的项目中,您不需要(也不能(生成pod install,因为Expo项目已经包含了所有可用的本地代码。Expo确实包含react导航,但您的问题可能是版本不匹配。如果你直接用npm安装react导航,你会得到最新版本,它可能与Expo中包含的版本不匹配。这就是为什么您应该只使用expo install而不是npm install进行安装。您可以尝试删除libs,然后使用expo重新安装它们。

如果这不是问题所在,如果你提到什么在iOS中不起作用,这将有助于其他人回答。

最新更新