Передача события click функции в Promise говорит мне использовать event.persist (), как? - PullRequest
0 голосов
/ 06 июня 2018

У меня есть эти 2 функции.Я попытался передать событие «e» обещанию, но в функции «handleOnClick» e имеет значение null, поскольку оно выходит за рамки «this».поэтому я назначил событие «this.clickEvent» и передал его вместо этого, но теперь я получаю длинное сообщение о событиях synethetic и event.persist ().

Как мне это исправить?

handleClick( e ) {
  this.clickEvent = e;
  somePromise( param1, param2 ).then( result => {
    handleOnClick( this.clickEvent, param1, param2 );
  });
}

handleOnClick( e, param1, param2 ) {
  if ( e.shiftKey ) { // get the below message in console here }
}

Предупреждение. Это искусственное событие используется повторно по соображениям производительности.Если вы видите это, вы получаете доступ к свойству shiftKey в освобожденном / аннулированном синтетическом событии.Это установлено в ноль.Если вам нужно сохранить оригинальное синтетическое событие, используйте event.persist ().См. Fb.me/react-event-pooling для получения дополнительной информации.

1 Ответ

0 голосов
/ 06 июня 2018

Как говорит ошибка, просто позвоните event.persist() (независимо от вашего события).

Дополнительные примеры

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