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