Lifting state up moves shared state from a child into a common ancestor, allowing sibling components to consume the same value through props. section 6.0 section 6.2.2
The parent owns the state, passes values to children, and passes an updater or dispatch function when children must trigger changes. A child calls that function; the parent re-renders and updates its children. section 6.1.3 section 6.3
Color picker
Colors stores the selected color with useState and passes color and setColor to ColorPicker. Each color item calls setColor(c), so the picker highlights the selection after the parent re-renders. section 6.1.3
Figure 6.11 BookablesView manages the state with a reducer and passes the selected bookable or the whole state to its children.
Trace how BookablesView manages reducer state and passes either the selected bookable or the whole state to child components. section 6.3
