Start here. This is the direct spoken answer to practice first.
Why this question matters
A lot of subtle React bugs come from storing data that could have been calculated from existing props or state. This drill checks whether the candidate keeps state minimal.
If a value can be calculated from current props or state, I usually derive it during render instead of storing it separately. For example, filtered items can be derived from items and filter text. Storing both the raw list and filtered list creates a synchronization problem. State is best for values that change independently, such as user input, selected id, open panels, or server data.