Ir al contenido

Contador

El contador es la app JIntent completa más pequeña. Un toque llama a un método del controlador, el controlador ejecuta un intent, el intent valida mediante un caso de uso, persiste mediante un repositorio y actualiza el estado. Los rechazos no tocan el estado: viajan como effects.

Cargando la demo…
Abrir en una pestaña nueva
  1. Pulsa Increment varias veces (un throttle de 200 ms ignora las pulsaciones más rápidas). Cada pulsación ejecuta un IncrementIntent que actualiza count en el estado.
  2. Al llegar a 10 se emite un ShowSuccessEffect: un snackbar «Milestone reached» de un solo uso que no forma parte del estado.
  3. Sigue pulsando Increment en 10. El contador se queda en 10 y, en una de cada dos llamadas (un validador con estado, a propósito), el caso de uso rechaza el valor. El rechazo es un effect ShowRejectOperation mostrado como un snackbar rojo, no un cambio de estado.
  • Los intents de presentation/counter/intents convierten un Either del caso de uso en una actualización o en un effect.
  • counter_effect_handler.dart asocia cada tipo de effect con su UI.
  • Esta demo lee el estado con Riverpod; las demás usan JControllerBuilder. Ambas funcionan porque un JController es un StateNotifier.

Guías relacionadas: effects, manejo de errores y helpers de dominio.