Возникли проблемы с реагированием на встроенную функцию обратного обработчика - PullRequest
0 голосов
/ 31 марта 2020

Я использую функцию обратного обработчика реакции native, и я только что объявил об этом на экране входа в систему, чтобы отключить кнопку возврата, чтобы вернуться к моему экрану spla sh. Но он звонит на всех моих других экранах. Как главный экран и другие, но я только объявил это в моем компоненте входа в систему. Пожалуйста, помогите мне решить эту проблему. спасибо

Экран входа в систему:

    backAction = () => {
    return true;
  };

  componentDidMount() {
    this.backHandler = BackHandler.addEventListener(
      'hardwareBackPress',
      this.backAction,
    );
  }
  componentWillUnmount() {
    this.backHandler.remove();
  }

1 Ответ

0 голосов
/ 31 марта 2020

Это потому, что ваш слушатель включен с экрана входа в систему, поэтому все остальные ваши экраны работают в соответствии с запросом.

Вы на правильном пути, рядом с правильным. Замените следующий код на componentWillUnmount:

BackHandler.removeEventListener(
      'hardwareBackPress',
      this.backAction
    );

Замените componentWillMount на

BackHandler.addEventListener(
      'hardwareBackPress',
      this.backAction
    );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...