Idiomatic React would suggest if you are worried rerender times in the tree you may have something else possibly unrelated wrong (calls to a Class.render or functionComponent are expected to be fast because they may be called often in the virtual DOM approach). React generally airs on the side of caution that shared state is a full rerender: if the state change in A then yeah everything under A generally rerenders.