Page Load Events
You can also specify a function to run when the page loads. This can be useful for fetching data once vs on every render or state change. In this example, we fetch data when the page loads:
Another example would be checking if the user is authenticated when the page loads. If the user is not authenticated, we redirect them to the login page. If they are authenticated, we don't do anything, letting them access the page. This on_load event would be placed on every page that requires authentication to access.
Handling Loading and Errors
Avoid heavy synchronous work directly in an on_load handler — the page renders before the handler finishes, so a slow handler leaves the user staring at stale or empty data with no feedback. Instead:
- Use an async handler for network or database calls so the event loop is not blocked.
- Set a loading flag and
yieldto send it to the frontend immediately, then render a spinner or placeholder withrx.cond. - Wrap the work in
try/exceptso a failure surfaces as an error message instead of a page that never finishes loading.