Problem
Reflex has no built-in API for persistent layout across pages.
Every page compiles to an independent React component inside ,
so navbar/sidebar/footer remounts on every navigation.
Expected
A simple Python API like:
app = rx.App(layout=my_layout)
or
@rx.layout
def my_layout(content):
return rx.vstack(navbar(), content)
Similar to:
- SvelteKit: +layout.svelte (since v1.0)
- Next.js: layout.tsx (since v13)
- NiceGUI: automatic
Why this matters
This is the most basic feature any multi-page web app needs.
It should have been in v1 Without it, every page navigation
remounts the entire UI chrome unnecessarily.
Verified with Reflex 0.8.27 by inspecting generated JSX.