1

这个应用程序首先进入 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 结合起来会是一个好主意,但我实际上不知道如何正确地做到这一点。

谢谢!

4

1 回答 1

0

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

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

goBack() 方法将在堆栈中随心所欲地工作

于 2019-10-07T11:30:25.080 回答