**Source URL:** https://limited.veevavault.dev/quality/custom-pages/vault-web-sdk/25.2.0/functions/definepage.md

# definePage

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

Defines the Custom Page client code and registers an implementation of the `Pageclientcode` MDL component. A Vault Java SDK
`PageController` can pass data using the load callback parameter.

## Type Parameters {#type-parameters}

### Data {#data}

`Data`

## Parameters {#parameters}

### initialize {#initialize}

(`params`) => `unknown`

The load callback function with parameter type [PageParameters](/custom-pages/vault-web-sdk/25.2.0/interfaces/pageparameters). Provides data to the client code from
Vault Java SDK's `PageController`. Executed from the `PageController#onLoad` response when
the Custom Page is initialized.

## Returns {#returns}

`unknown`

## 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:** [Functions](/quality/custom-pages/vault-web-sdk/25.2.0/functions)  
**Next:** [Interfaces](/quality/custom-pages/vault-web-sdk/25.2.0/interfaces)