El reflujo ocurre cuando hay un cambio en el diseño DOM. El reflujo es muy costoso computacionalmente ya que las dimensiones y posiciones de los elementos de la página deben calcularse nuevamente, luego se volverá a pintar la pantalla .
Ejemplo de algo que provocará reflujo
for (let i = 1; i <= 100; i++ {
const newEle = document.createElement('p');
newEle.textContent = 'newly created paragraph element';
document.body.appendChild(newEle);
}
El código anterior es muy ineficaz, provocando 100 procesos de reflujo por cada nuevo elemento de párrafo agregado.
Puede mitigar este proceso computacionalmente estresante usando .createDocumentFragment()
const docFrag = document.createDocumentFragment();
for (let i = 1; i <= 100; i++ {
const newEle = document.createElement('p');
newEle.textContent = 'newly created paragraph element';
docFrag.appendChild(newEle);
}
document.body.appendChild(docFrag);
El código anterior ahora solo usará el proceso de reflujo 1x para la creación de 100 nuevos elementos de párrafo.
El repintado es simplemente el cambio de píxeles en el monitor, mientras que aún lo grava es el menor de dos males, ya que un reflujo incluye un repintado en su procedimiento.