--- title: "entries:updated Hook" description: "Learn about the entries:updated hook in Unhead that's triggered when head entries are modified" navigation: title: "entries:updated" --- The `entries:updated` hook is called whenever the collection of head entries is modified, either by adding new entries, updating existing ones, or removing entries. This hook provides a way to react to changes in the application's head content. ## Hook Signature ```ts export interface Hook { 'entries:updated': (ctx: Unhead<any>) => HookResult } ``` ### Parameters | Name | Type | Description | |------|------|-------------| | `ctx` | `Unhead<any>` | The Unhead instance containing the updated entries | ### Returns `HookResult` which is either `void` or `Promise<void>` ## Usage Example ```ts import { createHead } from '@unhead/dynamic-import' const head = createHead({ hooks: { 'entries:updated': (head) => { // Log when entries are updated console.log('Head entries have been updated!') console.log(`Current entry count: ${head.headEntries().length}`) } } }) ``` ## Use Cases ### Tracking Head Changes You can use this hook to track and log changes to head entries throughout your application lifecycle: ```ts import { defineHeadPlugin } from '@unhead/dynamic-import' export const headChangeTrackingPlugin = defineHeadPlugin({ hooks: { 'entries:updated': (head) => { // Get current timestamp const timestamp = new Date().toISOString() // Log the updated state console.log(`[${timestamp}] Head entries updated:`, head.headEntries().map(entry => ({ id: entry._i, input: entry.input }))) } } }) ``` ### Triggering Side Effects The hook can be used to trigger side effects when head entries change: ```ts import { defineHeadPlugin } from '@unhead/dynamic-import' export const headChangeReactionPlugin = defineHeadPlugin({ hooks: { 'entries:updated': (head) => { // Check if title has changed const titleEntry = head.headEntries().find(entry => entry.input && typeof entry.input === 'object' && 'title' in entry.input ) if (titleEntry) { // Perform side effect when title changes notifyTitleChange(titleEntry.input.title) } } } }) function notifyTitleChange(title) { // Custom notification logic console.log(`Title changed to: ${title}`) } ```