I think we are just talking past each other here. Internally, in react, you need to do one of those two to get anything to update, I agree (unless you re-mount the whole app which is silly).
I was just pointing out that “changing the props” is not the same as changing a local variable in a parent component. It is just a very, very minor detail in this, but it leads to a wrong conclusion that changing a component’s props doesn’t cause it to re-evaluate, which it does. We just have to be clear about what we mean when we say props in this case, and which components we are talking about.