Custom Page
Custom page allows creating full pages with custom code
A hosted page is a menu entry whose content is entirely your code. Nothing is fetched or wrapped for you: no data source, no list, no editor. You get a blank canvas inside the application shell.
Two things to know:
The page must be in the app menu. A hosted page URL that isn't reachable from the app's menu configuration is rejected with a "ui not in app" redirect. Add the entry to the menu.
You fetch your own data. Either use the query hooks from
store, or wrap yourself inConnectionWrapperto get the same data contract a standard list screen has. Both are shown in Recipes.
If the menu entry is configured to use a UI definition, the schema and UI design for that type are handed to your page as props, so you can render a standard list or standard editors inside your custom layout.
There is also a full-structure page: a normal list screen whose structure is set to full. It behaves the same way: the standard list machinery is skipped and your code owns the screen. The difference is that every key of the list configuration arrives as a prop, which is a convenient way to pass settings into your page.
Custom page properties
app, apps, appConfig
the current application context
type
the page type from the URL
screenConfig
the menu entry for this page; your own settings on that entry are here
schema, uiDesign
populated only when the menu entry is configured to use a UI definition; empty objects otherwise
router
the Next.js router
For a full-structure page, every key of the list configuration is spread as a prop instead.
Last updated
