State machine modelira sustav kao konačan skup stanja plus dozvoljene prijelaze između njih. Umjesto da se nosite s neovisnim boolean zastavicama, točno definirate koja stanja postoje i koji su prijelazi legalni — čineći nemoguća stanja nepredstavljivim.
The problem: boolean soup
[isLoading, setLoading] = ();
[isError, setError] = ();
[isSuccess, setSuccess] = ();
