this.props.navigation.goback () не работает хорошо при использовании DrawerNavigator - PullRequest
0 голосов
/ 05 октября 2019

Это приложение сначала идет на экран А, затем 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>

Затем, когда я пытаюсь использовать this.props.navigation.goBack () , например, на экране D, он переходит на экран A (первый в списке). Ожидалось, что он перейдет на экран C.

Я искал решения и обнаружил, что объединение StackNavigator с DrawerNavigator было бы отличной идеей, но на самом деле я не знаю, как это сделать правильно.

Спасибо!

1 Ответ

0 голосов
/ 07 октября 2019

Вы пробовали что-то вроде этого:

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

Метод goBack () будет работать как угодно внутри стека

...