@custom-react-hooks/use-document-title
v1.5.1
Published
`useDocumentTitle` is a custom React hook for dynamically setting the document title. It updates the title shown in the browser tab, enhancing the user experience by reflecting the current page or content state.
Downloads
962
Readme
useDocumentTitle Hook
useDocumentTitle
is a custom React hook for dynamically setting the document title. It updates the title shown in the browser tab, enhancing the user experience by reflecting the current page or content state.
Features
- Dynamic Title Management: Easily update the browser tab title based on the current app state or page.
- Reversion Option: Optionally reverts to the original title when the component unmounts.
- Server-Side Rendering Support: Compatible with SSR by safely checking for the
document
object.
Installation
Choose and install individual hooks that suit your project needs, or install the entire collection for a full suite of utilities.
Installing Only Current Hooks
npm install @custom-react-hooks/use-document-title
or
yarn add @custom-react-hooks/use-document-title
Installing All Hooks
npm install @custom-react-hooks/all
or
yarn add @custom-react-hooks/all
Importing the Hook
The useDocumentTitle
hook must be imported using a named import as shown below:
Named Import:
import { useDocumentTitle } from '@custom-react-hooks/use-document-title';
This approach ensures that the hook integrates seamlessly into your project, maintaining consistency and predictability in how you use our package.
Usage
import React, { useState } from 'react';
import { useDocumentTitle } from '@custom-react-hooks/all';
const DocumentTitleComponent = () => {
const [title, setTitle] = useState('My Awesome Page');
useDocumentTitle(title);
return (
<div>
<h1>Welcome to My Awesome Page</h1>
<button
onClick={(e) => {
setTitle('Clicked on the button');
}}
>
Click on the button
</button>
<button
onClick={(e) => {
setTitle('My Awesome Page');
}}
>
Restore title name
</button>
</div>
);
};
export default DocumentTitleComponent;
In this example, the hook is used to set the document title to "My Awesome Page" when DocumentTitleComponent
is rendered.
API Reference
Parameters
title
: The string to set as the document title.revertOnUnmount
: (optional) A boolean that determines whether to revert to the original title on component unmount.
Use Cases
- Page Titling: Update the document title based on the current page or view in a Single Page Application (SPA).
- Contextual Information: Show contextual information (like unread message count) in the title.
- Feedback on User Actions: Reflect changes in application state (like a successful form submission).
- SEO Optimization: For server-side rendered applications, dynamically setting titles can help with SEO.
Contributing
Your contributions to improve useDocumentTitle
are appreciated. Feel free to submit issues or pull requests to enhance its functionality and usability.