Una macchina a stati modella un sistema come un insieme finito di stati più le transizioni consentite tra di essi. Invece di gestire flag booleani indipendenti, definisci esattamente quali stati esistono e quali transizioni sono legali — rendendo gli stati impossibili non rappresentabili.
Il problema: boolean soup
[isLoading, setLoading] = ();
[isError, setError] = ();
[isSuccess, setSuccess] = ();
