We want to hear from you!Take our 2021 Community Survey!

Pooling de Eventos

Nota

Esta página é relevante apenas para React 16 e anteriores, e para React Native.

React 17 na web não usa pool de eventos.

Mais informações sobre esta mudança no React 17.

Os objetos SyntheticEvent são agrupados. Isso será reutilizado e todas as propriedades serão anuladas após a chamada do manipulador de eventos. Por exemplo, isso não funcionará:

function handleChange(e) {
  // Isso não funcionará porque o objeto de evento é reutilizado.
  setTimeout(() => {
    console.log(e.target.value); // Muito tarde!
  }, 100);
}

Se você precisar acessar as propriedades do objeto de evento após a execução do manipulador de eventos, você precisa chamar e.persist():

function handleChange(e) {
  // Evita que o React redefina suas propriedades:
  e.persist();

  setTimeout(() => {
    console.log(e.target.value); // Works
  }, 100);
}
Esta página é útil?Edite esta página