Смешайте родное событие «keyDown» DOM с синтетическим событием «keyDown» React - PullRequest
0 голосов
/ 09 марта 2019

Я прекрасно понимаю, почему смешивать эти две разные системы событий не только плохо, но и испытывать нежелательное поведение из первых рук, но, похоже, другого пути нет.Я должен прикрепить onKeyPress ко всему документу, а также указать onKeyPress для всех React входных данных в документе.Структура будет выглядеть следующим образом:

<html>
  <body>
    <div id="root">
      <App>
        <input onKeyPress={this.keyPress}/>
      </App>
    </div>
  </body>
</html>

Во всем документе будет addRventListener:

componentDidMount() {
  document.addEventListener("keydown", this.handleEnterKey);
}

Обсуждается множество блогов о том, почему React обработчики событийвсегда будет выполняться после собственных обработчиков перехвата, но ни один из них, казалось, не дал решения для случая, когда другой возможности не существует.

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