【问题标题】:this.props.navigation.goback() not working well when using DrawerNavigator使用 DrawerNavigator 时 this.props.navigation.goback() 无法正常工作
【发布时间】:2019-10-05 14:48:36
【问题描述】:

这个应用程序首先进入A的屏幕,然后是B,C和D。然后当我在D时,我应该按一个Touchable Opacity重定向到C,但它去了A。

--App.js-----------------------------------------

const AppDrawerNavigator = createDrawerNavigator({
   A: {screen: A},
   B: {screen: B},
   C: {screen: C},
   D: {screen: D},
   ...

const App = createAppContainer(AppDrawerNavigator);
export default App;

--D.js------------------------------------------

   <View>
      <TouchableOpacity onPress={() => this.props.navigation.goBack()}>
                    <Image source={require('../images/icons/goBackIcon.png')}/>
      </TouchableOpacity>
   </View>

然后,当我尝试在屏幕 D 中使用 this.props.navigation.goBack() 时,它会转到 A 屏幕(列表中的第一个)。预计会进入C屏。

我搜索了解决方案,发现将 StackNavigator 与 DrawerNavigator 结合起来会是一个好主意,但我实际上不知道如何正确地做到这一点。

谢谢!

【问题讨论】:

    标签: reactjs react-native react-navigation react-navigation-stack react-navigation-drawer


    【解决方案1】:

    你有没有尝试过这样的事情:

    const AppDrawerNavigator = createDrawerNavigator({
       A: createStackNavigator({
          B: {screen: B},
          C: {screen: C},
          D: {screen: D},
       }),
    ...
    

    goBack() 方法将在堆栈中按您的意愿工作

    【讨论】:

      猜你喜欢
      • 2018-10-29
      • 2013-03-03
      • 2020-07-13
      • 1970-01-01
      • 1970-01-01
      • 2016-12-01
      • 1970-01-01
      • 2016-10-28
      • 1970-01-01
      相关资源
      最近更新 更多