"If you pass a prop to a child component, it will update whenever you change state"
Well if you update a state, every children of your component is updated as well regardless of if they have a prop passed.
I know there are way to make react trully reactive like Valtio using proxy or maybe Zustand, but my point is that useState or useContext is not "reactive" at all, you must call a function to rerender the components.