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…
Pruébalo
Sección titulada «Pruébalo»- Pulsa Increment varias veces (un throttle de 200 ms ignora las pulsaciones más rápidas). Cada pulsación ejecuta un
IncrementIntentque actualizacounten el estado. - Al llegar a 10 se emite un
ShowSuccessEffect: un snackbar «Milestone reached» de un solo uso que no forma parte del estado. - 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
ShowRejectOperationmostrado como un snackbar rojo, no un cambio de estado.
Qué mirar en el código
Sección titulada «Qué mirar en el código»- Los intents de
presentation/counter/intentsconvierten unEitherdel caso de uso en una actualización o en un effect. counter_effect_handler.dartasocia cada tipo de effect con su UI.- Esta demo lee el estado con Riverpod; las demás usan
JControllerBuilder. Ambas funcionan porque unJControlleres unStateNotifier.
Guías relacionadas: effects, manejo de errores y helpers de dominio.