內建瀏覽器元件 <title>
可讓您指定文件的標題。內建瀏覽器 <title>
元件
<title>My Blog</title>
參考
<title>
要指定文件的標題,請渲染內建瀏覽器 <title>
元件。您可以在任何元件中渲染 <title>
,React 總是會將對應的 DOM 元素放置在文件標頭中。
<title>My Blog</title>
屬性
<title>
支援所有常用元素屬性。
children
:<title>
只接受文字作為子項。此文字將成為文件的標題。您也可以傳遞您自己的元件,只要它們只渲染文字即可。
特殊渲染行為
無論 <title>
元件在 React 樹中的哪個位置渲染,React 總是會將對應的 DOM 元素放置在文件的 <head>
中。<head>
是 DOM 中 <title>
唯一有效的存在位置,但如果代表特定頁面的元件可以渲染自己的 <title>
,則會很方便並保持可組合性。
有兩個例外
- 如果
<title>
位於<svg>
元件內,則沒有特殊行為,因為在此情況下它不代表文件的標題,而是該 SVG 圖形的輔助說明註釋。 - 如果
<title>
具有itemProp
屬性,則沒有特殊行為,因為在此情況下它不代表文件的標題,而是關於頁面特定部分的詮釋資料。
用法
設定文件標題
使用任何元件,並將文字作為其子項,來渲染 <title>
元件。React 會將 <title>
DOM 節點放入文件 <head>
中。
import ShowRenderedHTML from './ShowRenderedHTML.js'; export default function ContactUsPage() { return ( <ShowRenderedHTML> <title>My Site: Contact Us</title> <h1>Contact Us</h1> <p>Email us at support@example.com</p> </ShowRenderedHTML> ); }
在標題中使用變數
<title>
元件的子項必須是單一文字字串。(或者單一數字或具有 toString
方法的單一物件。)這可能不太明顯,但像這樣使用 JSX 大括號
<title>Results page {pageNumber}</title> // 🔴 Problem: This is not a single string
…實際上會導致 <title>
元件獲得一個雙元素陣列作為其子項(字串 "Results page"
和 pageNumber
的值)。這將導致錯誤。請改用字串插值來傳遞單一字串給 <title>
<title>{`Results page ${pageNumber}`}</title>