Задать вопрос
LoKeR995
@LoKeR995
engineer

Как отследить нажатие кнопки назад?

665e98b588c14825493310.png
Как отследить нажатие этой кнопки?

useFocusEffect(
    React.useCallback(() => {
      const onBackPress = () => {
        console.log("onbackpress & closed websocket");
        client.disconnect();
      };
      BackHandler.addEventListener("hardwareBackPress", onBackPress);
      return () =>
        BackHandler.removeEventListener("hardwareBackPress", onBackPress);
    })
  );

Этот код отслеживает только нажатие на смартфоне
  • Вопрос задан
  • 384 просмотра
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@rPman
anchor навигация?

Непрерывно опрашивай на setInterval значение location.href, и при его изменении вызывай свой метод, это сработает с гарантией где угодно но с лагом, т.е. если интервал будет недостаточно маленьким, и в его пределах пользователь нажмет дважды 'назад', то этот метод укажет только на одно событие... чтобы понять что произошло больше переходов, смотреть в history.length, само собой если пользователь успеет нажать не назад а вперед, или туда-сюда несколько раз, это так же не даст верную информацию, но мне кажется на столько отслеживать перемещение по истории пользователя обычно не требуется.
Ответ написан
@KrisTeylor
BackHandler это про кнопку назад на Android, в вашем случае нужно разбирать с либой навигации.
Возможно в addListener в https://reactnavigation.org/docs/navigation-prop
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы