<title>
O componente <title>
embutido do navegador permite que você especifique o título do documento.
<title>Meu Blog</title>
Referência
<title>
Para especificar o título do documento, renderize o componente <title>
embutido do navegador. Você pode renderizar <title>
a partir de qualquer componente e o React sempre colocará o elemento DOM correspondente no cabeçalho do documento.
<title>Meu Blog</title>
Props
<title>
suporta todas as props comuns de elementos.
children
:<title>
aceita apenas texto como filho. Esse texto se tornará o título do documento. Você também pode passar seus próprios componentes, desde que eles renderizem apenas texto.
Comportamento especial de renderização
O React sempre colocará o elemento DOM correspondente ao componente <title>
dentro do <head>
do documento, independentemente de onde na árvore do React ele seja renderizado. O <head>
é o único lugar válido para o <title>
existir dentro do DOM, mas é conveniente e mantém as coisas compostas se um componente representando uma página específica puder renderizar seu próprio <title>
.
Existem duas exceções a isso:
- Se
<title>
estiver dentro de um componente<svg>
, então não há comportamento especial, porque neste contexto ele não representa o título do documento, mas sim uma anotação de acessibilidade para aquele gráfico SVG. - Se o
<title>
tiver uma propitemProp
, não há comportamento especial, porque nesse caso ele não representa o título do documento, mas sim metadados sobre uma parte específica da página.
Uso
Defina o título do documento
Renderize o componente <title>
de qualquer componente com texto como seus filhos. O React colocará um nó DOM <title>
no <head>
do documento.
import ShowRenderedHTML from './ShowRenderedHTML.js'; export default function ContactUsPage() { return ( <ShowRenderedHTML> <title>Meu Site: Fale Conosco</title> <h1>Fale Conosco</h1> <p>Envie-nos um email para support@example.com</p> </ShowRenderedHTML> ); }
Use variáveis no título
Os filhos do componente <title>
devem ser uma única string de texto. (Ou um único número ou um único objeto com um método toString
.) Pode não ser óbvio, mas usar chaves JSX assim:
<title>Página de Resultados {pageNumber}</title> // 🔴 Problema: Isso não é uma única string
… na verdade causa o componente <title>
a receber um array de dois elementos como seus filhos (a string "Página de Resultados"
e o valor de pageNumber
). Isso causará um erro. Em vez disso, use interpolação de string para passar ao <title>
uma única string:
<title>{`Página de Resultados ${pageNumber}`}</title>