Is there a better way to handle doing something after updating the state with #react `useState`?
Having a useEffect just feels a bit clunky especially when I have multiple states that I need to watch and do something whenever they're updated
Also on that, if useState is asynchronous, why doesn't it return a promise? I'm assuming there's a reason for that
