You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/reference/react-dom/components/title.md
+15-17Lines changed: 15 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,9 @@
1
1
---
2
-
title: "<title>"
2
+
title: "React"
3
3
---
4
-
5
4
<Intro>
6
5
7
-
Встроенный [компонент `<title>` браузера](https://developer.mozilla.org/ru/docs/Web/HTML/Element/title) позволяет указать заголовок документа.
6
+
Встроенный браузерный компонент [`<title>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title) позволяет задать заголовок документа.
8
7
9
8
```js
10
9
<title>Мой блог</title>
@@ -20,7 +19,7 @@ title: "<title>"
20
19
21
20
### `<title>` {/*title*/}
22
21
23
-
Чтобы указать заголовок документа, отрендерите [встроенный компонент `<title>` браузера](https://developer.mozilla.org/ru/docs/Web/HTML/Element/title). Вы можете отрендерить`<title>` из любого компонента, и React всегда поместит соответствующий DOM-элемент в head документа.
22
+
Чтобы задать заголовок документа, отрендерите [встроенный браузерный компонент `<title>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title). Вы можете рендерить`<title>` из любого компонента, и React всегда поместит соответствующий DOM-элемент в `<head>` документа.
24
23
25
24
```js
26
25
<title>Мой блог</title>
@@ -32,20 +31,19 @@ title: "<title>"
32
31
33
32
`<title>` поддерживает все [общие пропсы элементов.](/reference/react-dom/components/common#props)
34
33
35
-
*`children`: `<title>` принимает только текст в качестве дочернего элемента. Этот текст станет заголовком документа. Вы также можете передать свои собственные компоненты, если они рендерят только текст.
36
-
37
-
#### Особое поведение рендеринга {/*special-rendering-behavior*/}
34
+
*`children`: `<title>` принимает только текст в качестве дочернего элемента. Этот текст станет заголовком документа. Вы также можете передавать собственные компоненты, если они рендерят только текст.
38
35
39
-
React всегда помещает DOM-элемент, соответствующий компоненту `<title>`, в `<head>` документа, независимо от того, где в дереве React он отрендерен. `<head>` — единственное допустимое место для существования `<title>` в DOM, но это удобно и сохраняет композицию, если компонент, представляющий конкретную страницу, может сам рендерить свой `<title>`.
36
+
#### Особое поведение при рендеринге {/*special-rendering-behavior*/}
40
37
41
-
Есть два исключения из этого правила:
38
+
React всегда будет помещать DOM-элемент, соответствующий компоненту `<title>`, внутрь `<head>` документа, независимо от того, где в дереве React он был отрендерен. `<head>` — единственное допустимое место для `<title>` в DOM, но удобно и сохраняет композитность, если компонент, представляющий конкретную страницу, может сам рендерить свой `<title>`.
42
39
43
-
* Если `<title>` находится внутри компонента `<svg>`, то особого поведения нет, потому что в этом контексте он представляет не заголовок документа, а [аннотацию доступности для этой SVG-графики](https://developer.mozilla.org/ru/docs/Web/SVG/Element/title).
44
-
* Если у `<title>` есть проп [`itemProp`](https://developer.mozilla.org/ru/docs/Web/HTML/Global_attributes/itemprop), то особого поведения нет, потому что в этом случае он представляет не заголовок документа, а метаданные о конкретной части страницы.
40
+
Есть два исключения:
41
+
* Если `<title>` находится внутри компонента `<svg>`, то специального поведения нет, потому что в этом контексте он представляет не заголовок документа, а [аннотацию доступности для этой SVG-графики](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/title).
42
+
* Если у `<title>` есть пропс [`itemProp`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemprop), то специального поведения нет, потому что в этом случае он представляет не заголовок документа, а метаданные о конкретной части страницы.
45
43
46
44
<Pitfall>
47
45
48
-
Рендерите только один `<title>` за раз. Если более одного компонента рендерят тег `<title>` одновременно, React поместит все эти заголовки в head документа. Когда это произойдет, поведение браузеров и поисковых систем не определено.
46
+
Рендерите только один `<title>` за раз. Если несколько компонентов одновременно рендерят тег `<title>`, React поместит все эти заголовки в `<head>` документа. В этом случае поведение браузеров и поисковых систем не определено.
49
47
50
48
</Pitfall>
51
49
@@ -55,7 +53,7 @@ React всегда помещает DOM-элемент, соответствую
55
53
56
54
### Установка заголовка документа {/*set-the-document-title*/}
57
55
58
-
Отрендерите компонент `<title>` из любого компонента с текстом в качестве его дочерних элементов. React поместит DOM-узел `<title>` в `<head>` документа.
56
+
Отрендерите компонент `<title>` из любого компонента с текстом в качестве дочерних элементов. React поместит DOM-узел `<title>` в `<head>` документа.
59
57
60
58
<SandpackWithHTMLOutput>
61
59
@@ -65,7 +63,7 @@ import ShowRenderedHTML from './ShowRenderedHTML.js';
65
63
exportdefaultfunctionContactUsPage() {
66
64
return (
67
65
<ShowRenderedHTML>
68
-
<title>Мой сайт:Свяжитесь с нами</title>
66
+
<title>Мой сайт:Контакты</title>
69
67
<h1>Свяжитесь с нами</h1>
70
68
<p>Напишите нам по адресу support@example.com</p>
71
69
</ShowRenderedHTML>
@@ -77,13 +75,13 @@ export default function ContactUsPage() {
77
75
78
76
### Использование переменных в заголовке {/*use-variables-in-the-title*/}
79
77
80
-
Дочерним элементом компонента `<title>`должна быть одна строка текста. (Или одно число, или один объект с методом `toString`.) Это может быть неочевидно, но использование фигурных скобок JSX, как это:
78
+
Дочерние элементы компонента `<title>`должны быть одной строкой текста. (Или одним числом, или одним объектом с методом `toString`.) Это может быть неочевидно, но использование фигурных скобок JSX, вот так:
81
79
82
80
```js
83
-
<title>Страница результатов {pageNumber}</title>// 🔴 Проблема: это не одна строка
81
+
<title>Страница результатов {pageNumber}</title>// 🔴 Проблема: Это не одна строка
84
82
```
85
83
86
-
... на самом деле приводит к тому, что компонент `<title>` получает массив из двух элементов в качестве своих дочерних элементов (строка`"Страница результатов"` и значение `pageNumber`). Это вызовет ошибку. Вместо этого используйте интерполяцию строк, чтобы передать `<title>` одну строку:
84
+
... на самом деле приводит к тому, что компонент `<title>` получает массив из двух элементов в качестве дочерних (строку`"Страница результатов"` и значение `pageNumber`). Это вызовет ошибку. Вместо этого используйте интерполяцию строк, чтобы передать `<title>` одну строку:
87
85
88
86
```js
89
87
<title>{`Страница результатов ${pageNumber}`}</title>
0 commit comments