我正在建立一个反应原生应用程序,我正在使用react-navigation包。我有一个应用程序的标签导航器,每个标签都有一个堆栈导航器。像这样:
const HomeStack = StackNavigation({
Info: {screen: Info},
Main: {screen: Main}
})
const SearchStack = StackNavigation({
Search: {screen: Search},
SearchResult: {screen: SearchResult}
})
TabNavigation({
Home: {screen: HomeStack},
Search: {screen: SearchStack}
})
所以,让我说我做了一次搜索,现在我在SearchResult屏幕上。然后按主页选项卡返回主屏幕。现在,当我返回搜索选项卡时,它会向我显示SearchResult屏幕。有没有办法强制反应导航在从标签页面转到它时始终呈现搜索屏幕?
我制作了一个关于小吃的项目来说明这个https://snack.expo.io/rkMzWoh17
答案 0 :(得分:1)
在像这样的搜索堆栈导航中使用这样的初始路由名称
{
initialRouteName: 'Search',
}
答案 1 :(得分:0)
您可以在每个堆栈屏幕中使用类似的内容。
const Search = ({ navigation }) => {
useLayoutEffect(() => {
const blur = navigation.addListener('blur', () => {
navigation.popToTop();
});
}, []);
}
每次您离开时,这都会将堆栈弹出到初始屏幕。