typescriptbeginner

useDocumentTitle Hook

Dynamically updates the document title and restores it on unmount.

typescript
import { useEffect, useRef } from 'react';

export function useDocumentTitle(title: string, restoreOnUnmount = true) {
  const previousTitle = useRef(document.title);

  useEffect(() => {
    document.title = title;
  }, [title]);

  useEffect(() => {
    if (restoreOnUnmount) {
      return () => {
        document.title = previousTitle.current;
      };
    }
  }, [restoreOnUnmount]);
}

Use Cases

  • Page title updates
  • Tab identification

Tags

Related Snippets

Similar patterns you can reuse in the same workflow.