Level 63
No, persistent layouts don't rerender every time.
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
I have a persistent layout set up the following way in app.tsx:
resolve: (name) => {
const page = resolvePageComponent(
`./pages/${name}.tsx`,
import.meta.glob("./pages/**/*.tsx"),
);
page.then((result) => {
// @ts-expect-error
result.default.layout = (page) => <Layout children={page} />;
});
return page;
},
I've added a log in the Layout component to check when it gets re-rendered, and it seems to happen whenever I make an Inertia request, including when the server responds with something like return back()->with('key', 'value');. Hence, the entire page is also re-rendered, because it is nested in the layout.
Is this expected behavior? Just checking in advance so I don't end up building with a latent problem in my code.
Please or to participate in this conversation.