An excellent write up by Builder.io explaining how to avoid the useState hell and use a much preferable and cleaner way using useReducer. Useful especially with forms.
useState
useReducer