User interfaces can be expressed by two things:
The state of the UI
Actions that can change that state
From credit card payment devices and gas pump screens to the software that your company creates, user interfaces react to the actions of the user and other sources and change their state accordingly. This concept isn’t just limited to technology, it’s a fundamental part of how everything works:
For every action, there is an equal and opposite reaction.
– Isaac Newton…
Robust React User Interfaces with Finite State Machines is a post from CSS-Tricks