{transitions} = f(state)

Thinking about the React component tree as modeling a state machine can help clarify the implications of asynchronous updates and React’s concurrent features.