navigation.goBack () работает не так, как ожидалось React Native - PullRequest
0 голосов
/ 26 мая 2020

У меня есть 4 экрана в моем компоненте регистрации: Scrn 1 -> Scrn 2 -> Scrn 3 -> Scrn 4. Я разместил «Далее» на каждом экране и кнопки «Назад» на экранах 2, 3 и 4.

Я заполняю некоторую информацию в Scrn 1 и перехожу к Scrn 2. Если я нажму назад, я приземлюсь на Scrn 1. НО СЕЙЧАС, если я нажму «Next», меня перенаправят на Scrn 3 вместо этого. of Scrn 2.

Если я сейчас нажму «Назад», я снова перенаправлюсь на Scrn 1, и нажатие «Next» приведет меня к Scrn 3 вместо Scrn 2. Повторное нажатие «Back» вызывает тот же процесс. и я достигаю Scrn 4.

Эта ошибка возникает на любом экране, когда я нажимаю «Назад».

<View style={{ flex: 1, flexDirection: "row", justifyContent: 'space-around' }}>
  <Button title='Back' type='solid' containerStyle={styles.buttonStyle} onPress={() => navigation.goBack()} />
  <Button title="Save and Next" type='solid' containerStyle={styles.buttonStyle} onPress={handleNavigation} />
</View>

handleNavigation () заботится о названиях экранов и имеет Действия в моем контексте.

handleNavigation = () => {
  sendScrn1Details(
     username,
     password
  )
  navigation.navigate('Scrn2')
}

Каждый экран имеет свой собственный handleNavigation с одним и тем же шаблоном, т.е. действие и навигация.

Это ожидаемое поведение? Как мне этого избежать? То же самое происходит и с другими компонентами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...