I dropped all state except local state in react and replaced it with events.
Driving UI declaratively via prop changes sounds great in theory but it’s actually a nightmare. Better to use events, dramatically simplifies things.