It's not about knowing the API. It's about knowing when your component needs to think differently.

There's a specific moment in a code review that tells me everything I need to know about where a developer is in their React code.

I ask: "Why did you use useState here instead of useReducer?"

The junior answer: "Because it's simpler."

The senior answer: "Because the state changes don't depend on each other, so there's no state machine here. If they did, I'd use useReducer."