So it seems you are actually pushing new routes to the browser History API, then a new "page" needs to reload, hence your server components is called, rendered and the flow goes on with the children components. Why wouldnt you expect to not "re-render"?