Actualizaciones de Estado Funcionales (Functional setState)
Cuando el estado siguiente depende directamente del estado anterior (como un contador de puntuación en un juego arcade o el toggle de un modal), leer la variable de estado directamente dentro de un callback asíncrono puede provocar cierres obsoletos si múltiples eventos se disparan en rápida sucesión.
1. Antipatrón vs Patrón Recomendado
// ANTIPATRÓN: Lee el valor del closure que puede estar desactualizado
function onDisparoLaser() {
setPuntuacion(puntuacion + 100);
}
// PATRÓN RECOMENDADO: Forma funcional atómica
function onDisparoLaser() {
setPuntuacion(prevScore => prevScore + 100);
}2. Aplicación en Componentes Vanilla JS de Astro
En los scripts cliente de componentes como ArcadeGame.astro o TerminalEmulator.astro, utiliza mutaciones atómicas o despachadores de eventos personalizados:
// Despacho de telemetría desacoplada
window.dispatchEvent(new CustomEvent('ryukami:score-update', {
detail: { delta: 100 }
}));