Skip to content

Commit 2381653

Browse files
authored
Merge pull request #884 from TibidoX/translation-renderToString
Translation for "renderToString"
2 parents 2672282 + a5dbf0c commit 2381653

File tree

1 file changed

+38
-38
lines changed

1 file changed

+38
-38
lines changed

src/content/reference/react-dom/server/renderToString.md

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ title: renderToString
44

55
<Pitfall>
66

7-
`renderToString` does not support streaming or waiting for data. [See the alternatives.](#alternatives)
7+
`renderToString` не поддерживает потоковую передачу или ожидание данных. [Смотрите альтернативные варианты.](#alternatives)
88

99
</Pitfall>
1010

1111
<Intro>
1212

13-
`renderToString` renders a React tree to an HTML string.
13+
`renderToString` рендерит дерево React в HTML-строку.
1414

1515
```js
1616
const html = renderToString(reactNode)
@@ -22,93 +22,93 @@ const html = renderToString(reactNode)
2222

2323
---
2424

25-
## Reference {/*reference*/}
25+
## Справка {/*reference*/}
2626

2727
### `renderToString(reactNode)` {/*rendertostring*/}
2828

29-
On the server, call `renderToString` to render your app to HTML.
29+
На сервере вызовите `renderToString`, чтобы отрендерить ваше приложение в HTML.
3030

3131
```js
3232
import { renderToString } from 'react-dom/server';
3333

3434
const html = renderToString(<App />);
3535
```
3636

37-
On the client, call [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) to make the server-generated HTML interactive.
37+
На клиенте вызовите [`hydrateRoot`](/reference/react-dom/client/hydrateRoot), чтобы сделать интерактивным HTML, который сгенерировал сервер.
3838

39-
[See more examples below.](#usage)
39+
[Смотрите больше примеров ниже.](#usage)
4040

41-
#### Parameters {/*parameters*/}
41+
#### Параметры {/*parameters*/}
4242

43-
* `reactNode`: A React node you want to render to HTML. For example, a JSX node like `<App />`.
43+
* `reactNode`: Узел React, который вы хотите отрендерить в HTML. Например, JSX узел типа `<App />`.
4444

45-
#### Returns {/*returns*/}
45+
#### Возвращаемые значения {/*returns*/}
4646

47-
An HTML string.
47+
Строка HTML.
4848

49-
#### Caveats {/*caveats*/}
49+
#### Предостережения {/*caveats*/}
5050

51-
* `renderToString` has limited Suspense support. If a component suspends, `renderToString` immediately sends its fallback as HTML.
51+
* `renderToString` имеет ограниченную поддержку задержки. Если компонент приостановлен, `renderToString` немедленно отправляет fallback в виде HTML.
5252

53-
* `renderToString` works in the browser, but using it in the client code is [not recommended.](#removing-rendertostring-from-the-client-code)
53+
* `renderToString` работает в браузере, но использовать его в клиентском коде [не рекомендуется.](#removing-rendertostring-from-the-client-code)
5454

5555
---
5656

57-
## Usage {/*usage*/}
57+
## Применение {/*usage*/}
5858

59-
### Rendering a React tree as HTML to a string {/*rendering-a-react-tree-as-html-to-a-string*/}
59+
### Рендеринг дерева React как строки HTML {/*rendering-a-react-tree-as-html-to-a-string*/}
6060

61-
Call `renderToString` to render your app to an HTML string which you can send with your server response:
61+
Вызовите `renderToString`, чтобы отрендерить ваше приложение в строку HTML, которую вы можете отправить вместе с ответом вашего сервера:
6262

6363
```js {5-6}
6464
import { renderToString } from 'react-dom/server';
6565

66-
// The route handler syntax depends on your backend framework
66+
// Синтаксис обработчика маршрута зависит от вашего бэкенд-фреймворка
6767
app.use('/', (request, response) => {
6868
const html = renderToString(<App />);
6969
response.send(html);
7070
});
7171
```
7272

73-
This will produce the initial non-interactive HTML output of your React components. On the client, you will need to call [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) to *hydrate* that server-generated HTML and make it interactive.
73+
Этот код создает исходный неинтерактивный HTML-вывод ваших компонентов React. На клиенте вам нужно будет вызвать [`hydrateRoot`](/reference/react-dom/client/hydrateRoot), чтобы сделать HTML, который сгенерировал сервер, интерактивным.
7474

7575

7676
<Pitfall>
7777

78-
`renderToString` does not support streaming or waiting for data. [See the alternatives.](#alternatives)
78+
`renderToString` не поддерживает потоковую передачу или ожидание данных. [Смотрите альтернативные варианты.](#alternatives)
7979

8080
</Pitfall>
8181

8282
---
8383

84-
## Alternatives {/*alternatives*/}
84+
## Альтернативные варианты {/*alternatives*/}
8585

86-
### Migrating from `renderToString` to a streaming method on the server {/*migrating-from-rendertostring-to-a-streaming-method-on-the-server*/}
86+
### Переход от `renderToString` к потоковому методу на сервере {/*migrating-from-rendertostring-to-a-streaming-method-on-the-server*/}
8787

88-
`renderToString` returns a string immediately, so it does not support streaming or waiting for data.
88+
`renderToString` немедленно возвращает строку, поэтому он не поддерживает потоковую передачу или ожидание данных.
8989

90-
When possible, we recommend using these fully-featured alternatives:
90+
Мы рекомендуем использовать эти полнофункциональные альтернативы, когда это возможно:
9191

92-
* If you use Node.js, use [`renderToPipeableStream`.](/reference/react-dom/server/renderToPipeableStream)
93-
* If you use Deno or a modern edge runtime with [Web Streams](https://developer.mozilla.org/en-US/docs/Web/API/Streams_API), use [`renderToReadableStream`.](/reference/react-dom/server/renderToReadableStream)
92+
* Если вы используете Node.js, используйте [`renderToPipeableStream`.](/reference/react-dom/server/renderToPipeableStream)
93+
* Если вы используете Deno или современную пограничную среду выполнения с [Web Streams](https://developer.mozilla.org/en-US/docs/Web/API/Streams_API), используйте [`renderToReadableStream`.](/reference/react-dom/server/renderToReadableStream)
9494

95-
You can continue using `renderToString` if your server environment does not support streams.
95+
Вы можете продолжать использовать`renderToString`, если среда вашего сервера не поддерживает потоки.
9696

9797
---
9898

99-
### Removing `renderToString` from the client code {/*removing-rendertostring-from-the-client-code*/}
99+
### Удаление `renderToString` из клиентского кода {/*removing-rendertostring-from-the-client-code*/}
100100

101-
Sometimes, `renderToString` is used on the client to convert some component to HTML.
101+
Иногда `renderToString` используют на клиенте для преобразования какого-либо компонента в HTML.
102102

103103
```js {1-2}
104-
// 🚩 Unnecessary: using renderToString on the client
104+
// 🚩 Лишнее: использование renderToString на клиенте
105105
import { renderToString } from 'react-dom/server';
106106

107107
const html = renderToString(<MyIcon />);
108-
console.log(html); // For example, "<svg>...</svg>"
108+
console.log(html); // Например, "<svg>...</svg>"
109109
```
110110

111-
Importing `react-dom/server` **on the client** unnecessarily increases your bundle size and should be avoided. If you need to render some component to HTML in the browser, use [`createRoot`](/reference/react-dom/client/createRoot) and read HTML from the DOM:
111+
Импорт `react-dom/server` **на клиенте** излишне увеличивает размер пакета, и этого следует избегать. Если вам в браузере нужно преобразовать какой-либо компонент в HTML, используйте [`createRoot`](/reference/react-dom/client/createRoot) и читайте HTML из DOM:
112112

113113
```js
114114
import { createRoot } from 'react-dom/client';
@@ -119,20 +119,20 @@ const root = createRoot(div);
119119
flushSync(() => {
120120
root.render(<MyIcon />);
121121
});
122-
console.log(div.innerHTML); // For example, "<svg>...</svg>"
122+
console.log(div.innerHTML); // Например, "<svg>...</svg>"
123123
```
124124

125-
The [`flushSync`](/reference/react-dom/flushSync) call is necessary so that the DOM is updated before reading its [`innerHTML`](https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML) property.
125+
Вызов [`flushSync`](/reference/react-dom/flushSync) необходим, чтобы DOM обновлялся перед чтением его свойства [`innerHTML`](https://developer.mozilla.org/ru/docs/Web/API/Element/innerHTML).
126126

127127
---
128128

129-
## Troubleshooting {/*troubleshooting*/}
129+
## Поиск неисправностей {/*troubleshooting*/}
130130

131-
### When a component suspends, the HTML always contains a fallback {/*when-a-component-suspends-the-html-always-contains-a-fallback*/}
131+
### Когда компонент приостанавливается, HTML всегда содержит fallback {/*when-a-component-suspends-the-html-always-contains-a-fallback*/}
132132

133-
`renderToString` does not fully support Suspense.
133+
`renderToString` не полностью поддерживает задержку.
134134

135-
If some component suspends (for example, because it's defined with [`lazy`](/reference/react/lazy) or fetches data), `renderToString` will not wait for its content to resolve. Instead, `renderToString` will find the closest [`<Suspense>`](/reference/react/Suspense) boundary above it and render its `fallback` prop in the HTML. The content will not appear until the client code loads.
135+
Если какой-либо компонент приостанавливается (например, потому что он определен с [`lazy`](/reference/react/lazy) или извлекает данные), `renderToString` не будет ждать разрешения своего содержимого. Вместо этого `renderToString` найдет ближайшую [`<Suspense>`](/reference/react/Suspense) границу над ней и отрендерит её `fallback` в HTML. Содержимое не появится, пока не загрузится клиентский код.
136136

137-
To solve this, use one of the [recommended streaming solutions.](#migrating-from-rendertostring-to-a-streaming-method-on-the-server) They can stream content in chunks as it resolves on the server so that the user sees the page being progressively filled in before the client code loads.
137+
Чтобы решить эту проблему, используйте одно из [рекомендуемых решений для потоковой передачи.](#migrating-from-rendertostring-to-a-streaming-method-on-the-server) Они могут передавать контент фрагментами по мере его разрешения на сервере, чтобы пользователь видел, что страница постепенно заполняется до загрузки клиентского кода.
138138

0 commit comments

Comments
 (0)