**Source URL:** https://limited.veevavault.dev/regulatory/custom-pages/vault-web-sdk/25.1.0/variables/definepage.md

# definePage

> 
`const` **definePage**: <`Data`>(`initialize`) => `unknown`

definePage is the mechanism for registering Pageclientcode implementation. Vault Java SDK
PageControllers can pass data.

## Type Parameters {#type-parameters}

### Data {#data}

`Data`

## Parameters {#parameters}

### initialize {#initialize}

(`params`) => `unknown`

The callback function that is executed from a PageController's onLoad
Response when first initialized.

## Returns {#returns}

`unknown`

A JsonObject which is returned from the response from the Vault Java SDK onEvent method

## Examples {#examples}

```

export default Vault.definePage(({element, data, pageContext, sendEvent})=>{
    element.textContent="Hello World";
});

```

```

import { createRoot } from 'react-dom/client';
import HelloWorld from './helloWorld';

export default Vault.definePage(({element, data, pageContext, sendEvent})=>{
    const root = createRoot(element);
    root.render(<HelloWorld />);
})


```


---

**Previous:** [Variables](/regulatory/custom-pages/vault-web-sdk/25.1.0/variables)  
**Next:** [vaultApiClient](/regulatory/custom-pages/vault-web-sdk/25.1.0/variables/vaultapiclient)