Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 23 additions & 24 deletions src/content/reference/react-dom/server/renderToStaticMarkup.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
---
title: renderToStaticMarkup
---

<Intro>

`renderToStaticMarkup` renders a non-interactive React tree to an HTML string.
`renderToStaticMarkup` рендерит неинтерактивное React-дерево в HTML-строку.

```js
const html = renderToStaticMarkup(reactNode, options?)
Expand All @@ -16,64 +15,64 @@ const html = renderToStaticMarkup(reactNode, options?)

---

## Reference {/*reference*/}
## Справочник {/*reference*/}

### `renderToStaticMarkup(reactNode, options?)` {/*rendertostaticmarkup*/}

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

```js
import { renderToStaticMarkup } from 'react-dom/server';

const html = renderToStaticMarkup(<Page />);
```

It will produce non-interactive HTML output of your React components.
Это создаст неинтерактивный HTML-вывод ваших React-компонентов.

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

#### Parameters {/*parameters*/}
#### Параметры {/*parameters*/}

* `reactNode`: A React node you want to render to HTML. For example, a JSX node like `<Page />`.
* **optional** `options`: An object for server render.
* **optional** `identifierPrefix`: A string prefix React uses for IDs generated by [`useId`.](/reference/react/useId) Useful to avoid conflicts when using multiple roots on the same page.
* `reactNode`: React-узел, который вы хотите отрендерить в HTML. Например, JSX-узел вроде `<Page />`.
* **необязательный** `options`: Объект для серверного рендеринга.
* **необязательный** `identifierPrefix`: Строковый префикс, который React использует для ID, сгенерированных [`useId`.](/reference/react/useId) Полезно для избежания конфликтов при использовании нескольких корневых элементов на одной странице.

#### Returns {/*returns*/}
#### Возвращает {/*returns*/}

An HTML string.
HTML-строку.

#### Caveats {/*caveats*/}
#### Ограничения {/*caveats*/}

* `renderToStaticMarkup` output cannot be hydrated.
* Вывод `renderToStaticMarkup` не может быть гидратирован.

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

* `renderToStaticMarkup` works in the browser, but using it in the client code is not recommended. If you need to render a component to HTML in the browser, [get the HTML by rendering it into a DOM node.](/reference/react-dom/server/renderToString#removing-rendertostring-from-the-client-code)
* `renderToStaticMarkup` работает в браузере, но его использование в клиентском коде не рекомендуется. Если вам нужно отрендерить компонент в HTML в браузере, [получите HTML, отрендерив его в DOM-узел.](/reference/react-dom/server/renderToString#removing-rendertostring-from-the-client-code)

---

## Usage {/*usage*/}
## Использование {/*usage*/}

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

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

```js {5-6}
import { renderToStaticMarkup } from 'react-dom/server';

// The route handler syntax depends on your backend framework
// Синтаксис обработчика маршрута зависит от вашего серверного фреймворка
app.use('/', (request, response) => {
const html = renderToStaticMarkup(<Page />);
response.send(html);
});
```

This will produce the initial non-interactive HTML output of your React components.
Это создаст начальный неинтерактивный HTML-вывод ваших React-компонентов.

<Pitfall>

This method renders **non-interactive HTML that cannot be hydrated.** This is useful if you want to use React as a simple static page generator, or if you're rendering completely static content like emails.
Этот метод рендерит **неинтерактивный HTML, который нельзя гидратировать.** Это полезно, если вы хотите использовать React как простой генератор статических страниц или если вы рендерите полностью статический контент, например, электронные письма.

Interactive apps should use [`renderToString`](/reference/react-dom/server/renderToString) on the server and [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) on the client.
Интерактивные приложения должны использовать [`renderToString`](/reference/react-dom/server/renderToString) на сервере и [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) на клиенте.

</Pitfall>
</Pitfall>
Loading