Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

BorisTheTripper's avatar

Are persistent layouts supposed to re-render every time?

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.

0 likes
1 reply

Please or to participate in this conversation.