← Volver al inicio

Preguntas típicas de React.js

Intermedio

¿Qué es `flushSync` en React?

flushSync(callback) Obliga a React a ejecutar de manera síncrona todas las actualizaciones de los state dentro del callback proporcionado. Así se asegura que el DOM se actualiza inmediatamente.

import { flushSync } from "react-dom"

function App() {
  const handleClick = () => {
    setId(1)
    // component no hace re-render 🚫
    flushSync(() => {
      setId(2)
      // component re-renderiza aquí 🔄
    })
    // component ha sido re-renderizado y el DOM ha sido actualizada ✅
    flushSync(() => {
      setName("John")
      // component no hace re-render 🚫
      setEmail("john@doe.com")
      // component re-renderiza aquí 🔄
    })
    // component ha sido re-renderizado y el DOM ha sido actualizada ✅
  }

  return <button onClick={handleClick}>Haz clic aquí</button>
}

NOTA: flushSync puede afectar significativamente el rendimiento. Úsalo con moderación.


Compra el libro
Portada del libro de Preguntas de React