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 actualizado ✅
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 actualizado ✅
}
return <button onClick={handleClick}>Haz clic aquí</button>
}
NOTA: flushSync
puede afectar significativamente el rendimiento. Úsalo con moderación.