State Machines
State Machines
3 reglasCiclo idle → loading → success → error
Todo componente asíncrono debe modelar cuatro estados mínimos: idle (acción disponible), loading (en progreso), success (confirmación breve) y error (recuperable). Omitir cualquiera deja al usuario sin orientación. El ciclo debe ser completo y cerrado: desde error siempre hay un camino de vuelta a idle.
investigación 2026Botón de 5 estados
Un botón completo tiene cinco estados distintos: default (listo), hover (feedback inmediato), active (presionado), disabled (bloqueado con motivo) y loading (acción en curso). Cada estado comunica algo diferente y previene doble envío.
investigación 2026data-state como fuente de verdad CSS
Usar data-state como atributo único en el DOM evita clases colisionantes y hace que CSS sea la capa exclusiva de presentación. Un solo cambio de atributo en JS activa todas las transiciones asociadas. El patrón [data-state="loading"] es predecible, testeable y accesible.
// 3 estados activos simultaneamente