React Native and React Native Navigation - Handle Back (goBa



感谢您抽出时间阅读&回答这个问题。我会尽力解释我遇到的问题。

HomeStack组件保持四个屏幕的底部导航。让我头疼的一个屏幕是ProjectsStack

export const ProjectsStack = (): ReactElement => {
return (
<ProjectsStackNav.Navigator initialRouteName='ProjectsScreen' screenOptions={defaultScreenOptions}>
<ProjectsStackNav.Screen name='ProjectsScreen' component={ProjectsScreen} />
<ProjectsStackNav.Screen name='CompletedProjectsScreen' component={CompletedProjectsScreen} />
<ProjectsStackNav.Screen name='ProjectTasksScreen' component={ProjectTasksScreen} />
<ProjectsStackNav.Screen name='CompletedProjectsTasksScreen' component={ProjectTasksScreen} />
</ProjectsStackNav.Navigator>
);
};

如您所见,ProjectTasksScreen是一个基于props=>如果它是打开的,它将渲染ProjectTasksScreen,否则它将渲染基本上相同屏幕的CompletedProjectsTasksScreen(可重用性最好(

要进入CompletedProjectsTasksScreen,您需要来自ProjectTasksScreen

现在的问题是,当您想从CompletedProjectsTasksScreen返回时,它不会转到ProjectTasksScreen,而是会导航到ProjectTasksScreen的上一个屏幕,即ProjectsScreen

有没有比把所有东西都重构到屏幕上更好的解决方案;组成部分

navigation.push方法而不是navigation.navigate可以解决您的问题https://reactnavigation.org/docs/navigating/#navigate-对路多路

最新更新