Multi-Pages¶
You can define multi-page Mesop applications by using the page feature you learned from Core Concepts.
Multi-page setup¶
import mesop as me
@me.page(path="/1")
def page1():
me.text("page 1")
@me.page(path="/2")
def page2():
me.text("page 2")
Learn more about page configuration in the page API doc.
Navigation¶
If you have multiple pages, you will typically want to navigate from one page to another when the user clicks a button. You can use me.navigate("/to/path")
to navigate to another page.
Example:
import mesop as me
def on_click(e: me.ClickEvent):
state = me.state(State)
state.count += 1
me.navigate("/multi_page_nav/page_2")
@me.page(path="/multi_page_nav")
def main_page():
me.button("Navigate to Page 2", on_click=on_click)
@me.page(path="/multi_page_nav/page_2")
def page_2():
state = me.state(State)
me.text(f"Page 2 - count: {state.count}")
@me.stateclass
class State:
count: int
Note: you can re-use state across pages. See how the above example uses the
State#count
value across pages.