Files
admin/packages/hooks/src/usePageMeta/Readme.md
T
2026-06-25 15:53:49 +03:00

49 lines
1.3 KiB
Markdown

# usePageMeta
Sets the page `<title>` and/or `<meta name="description">` while a component is mounted, then restores the previous values on unmount.
## Signature
```ts
function usePageMeta(params: UsePageMetaParams): void;
interface UsePageMetaParams {
title?: string;
description?: string;
}
```
| Param | Type | Description |
| ------------- | -------- | ------------------------------------------- |
| `title` | `string` | Value to set as `document.title` |
| `description` | `string` | Value to set in `<meta name="description">` |
Both params are optional — pass only the ones you need.
## Usage
```tsx
function ArticlePage({ article }: { article: Article }) {
usePageMeta({
title: article.title,
description: article.summary,
});
return <main>{article.content}</main>;
}
```
```tsx
// Title only
function DashboardPage() {
usePageMeta({ title: 'Dashboard' });
return <div />;
}
```
## Notes
- Restores the previous `document.title` and `<meta>` content when the component unmounts, so nested or sequential usage is safe.
- If no `<meta name="description">` tag exists in the document, one is created and removed on cleanup.
- Client-only (`'use client'`). Does not run during SSR.