【发布时间】:2020-08-10 19:08:30
【问题描述】:
嘿,我正在使用 react native 为 android、ios 和 web 构建应用程序,我使用 https://reactnative.dev/docs/navigation 进行导航,它在 android 和 IO 上运行良好,但在 web 上我偶然发现了 2 个问题。 首先是下一个屏幕总是在同一页面中打开,我希望它转到新页面。 其次,假设我在堆栈中的第三个屏幕上,如果我在浏览器中点击刷新它会进入第一个屏幕(在我的情况下,第一个屏幕是登录屏幕)。 我能做些什么来解决这个问题?我应该为 web、android 和 ios 使用任何其他导航框架,还是你有完全不同的建议?
import 'react-native-gesture-handler';
import { StatusBar } from 'expo-status-bar';
import React from 'react';
import {
StyleSheet,
Text,
View,
} from 'react-native';
import { NavigationContainer, StackActions } from "@react-navigation/native";
import { createStackNavigator } from "@react-navigation/stack";
import LoginScreen from './screen/LoginScreen';
import HomeScreen from './screen/HomeScreen';
import AboutUsScreen from './screen/AboutUsScreen';
import ProgramsScreen from './screen/ProgramsScreen';
import ResourcesScreen from './screen/ResourcesScreen';
import NewsScreen from './screen/NewsScreen';
const Stack = createStackNavigator();
export default function App() {
return (
<NavigationContainer>
<Stack.Navigator
screenOptions={{ headerShown: true }}
>
<Stack.Screen name="LoginScreen" component={LoginScreen} />
<Stack.Screen name="HomeScreen" component={HomeScreen}/>
<Stack.Screen name="AboutUsScreen" component={AboutUsScreen}/>
<Stack.Screen name="ProgramsScreen" component={ProgramsScreen}/>
<Stack.Screen name="ResourcesScreen" component={ResourcesScreen}/>
<Stack.Screen name="NewsScreen" component={NewsScreen}/>
</Stack.Navigator>
</NavigationContainer>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
【问题讨论】:
-
Hey Hamza 感谢您提出问题,能否将代码示例附加到您的问题中,以帮助其他人了解您正在查看的内容
-
嘿,谢谢你的关注,我已经用我用来切换屏幕的代码添加了这个问题。
标签: react-native web navigation react-native-navigation react-native-web