navigation.goBack 在本机反应中不起作用

Posted

技术标签:

【中文标题】navigation.goBack 在本机反应中不起作用【英文标题】:navigation.goBack not working in react native 【发布时间】:2021-12-08 08:18:57 【问题描述】:

这是我项目的结构:标签导航器有两个屏幕 DailyTab 和 WeeklyTab。 DailyTab 本身就是一个堆栈导航器,它有两个屏幕 Daily 和 Todos。 Daily 是默认屏幕,我可以从 Daily 导航到 Todos,但是当我按下 Todos 上的后退按钮时会出现相同的 Todos 屏幕(我希望它会带我进入 Daily 屏幕)

主要:

const Main = () => 
  const Tab = createBottomTabNavigator();

  return (
    <NavigationContainer independent=true>
      <Tab.Navigator>
        <Tab.Screen
          name="DailyTab"
          component=DailyTab
        />
        <Tab.Screen
          name="WeeklyTab"
          component=WeeklyTab
        />
        
      </Tab.Navigator>
    </NavigationContainer>
  );
;

每日标签:

const DailyTab = () => 

  return (
    <NavigationContainer independent=true>
      <Stack.Navigator initialRouteName="Daily">
        <Stack.Screen
          name="Daily"
          component=Daily
          options=headerShown: false
        />
        <Stack.Screen
          name="Todos"
          component=Todos
          options=headerShown: false
        />
      </Stack.Navigator>
    </NavigationContainer>
  );
;

const Daily = (navigation) => 
  return (
    <View style=globalStyles.overallBackground>
      <Navbar />
      <Calendar navigation=navigation />
    </View>
  );
;

待办事项:

const Todos = (route, navigation) => 
  return (
    <View style=globalStyles.overallBackground>
      <Navbar />
      <Button title="back" onPress=()=>navigation.goBack() ></Button>
    </View>
  );
;

我哪里错了?

【问题讨论】:

您如何从 Daily 导航到 Todos?也许它正在导航两次或类似的东西 【参考方案1】:

试一试——

this.props.navigation.goBack()

【讨论】:

我使用的是功能组件而不是类组件

以上是关于navigation.goBack 在本机反应中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法使用 webview.goBack 和 navigation.goBack 在反应原生 webview 中使用相同的按钮?

React Native Navigation覆盖onBack

React-native-navigation:goBack() 不起作用

水平滚动视图在本机反应中不起作用

视频在本机反应(android)中不起作用

React Native返回刷新页面(this.props.navigation.goBack())