---
title: "Page"
generated: true
---
<GenerationInfo sourceFile="packages/dashboard/src/lib/framework/layout-engine/page-layout.tsx" sourceLine="91" packageName="@vendure/dashboard" since="3.3.0" />

This component should be used to wrap _all_ pages in the dashboard. It provides
a consistent layout as well as a context for the slot-based PageBlock system.

The typical hierarchy of a page is as follows:
- `Page`
 - <DocsLink href="/reference/dashboard/page-layout/page-title#pagetitle">PageTitle</DocsLink>
 - <DocsLink href="/reference/dashboard/page-layout/page-action-bar#pageactionbar">PageActionBar</DocsLink>
 - <DocsLink href="/reference/dashboard/page-layout/#pagelayout">PageLayout</DocsLink>

*Example*

```tsx
import { Page, PageTitle, PageActionBar, PageLayout, PageBlock, Button } from '@vendure/dashboard';

const pageId = 'my-page';

export function MyPage() {
 return (
   <Page pageId={pageId} form={form} submitHandler={submitHandler} entity={entity}>
     <PageTitle>My Page</PageTitle>
     <PageActionBar>
       <PageActionBarRight>
         <Button>Save</Button>
       </PageActionBarRight>
     </PageActionBar>
     <PageLayout>
       <PageBlock column="main" blockId="my-block">
         <div>My Block</div>
       </PageBlock>
     </PageLayout>
   </Page>
 )
}
```

```ts title="Signature"
function Page(props: Readonly<PageProps>): void
```
Parameters

### props

<MemberInfo kind="parameter" type={``Readonly<`<a href='/reference/dashboard/page-layout/page#pageprops'>PageProps</a>`>``} />

<GenerationInfo sourceFile="packages/dashboard/src/lib/framework/layout-engine/page-layout.tsx" sourceLine="38" packageName="@vendure/dashboard" since="3.3.0" />

The props used to configure the <DocsLink href="/reference/dashboard/page-layout/page#page">Page</DocsLink> component.

```ts title="Signature"
interface PageProps extends ComponentProps<'div'> {
    pageId?: string;
    entity?: any;
    form?: UseFormReturn<any>;
    submitHandler?: any;
}
```
* Extends: `ComponentProps<'div'>`



<div className="members-wrapper">

### pageId

<MemberInfo kind="property" type={`string`}   />

A string identifier for the page, e.g. "product-list", "review-detail", etc.
### entity

<MemberInfo kind="property" type={`any`}   />


### form

<MemberInfo kind="property" type={``UseFormReturn<any>``}   />


### submitHandler

<MemberInfo kind="property" type={`any`}   />




</div>
