renderToStaticMarkup
renderToStaticMarkup рендерить неінтерактивне дерево React у HTML-рядок.
const html = renderToStaticMarkup(reactNode)
Довідник
renderToStaticMarkup(reactNode)
На сервері викличте renderToStaticMarkup, щоб відрендерити ваш застосунок у HTML.
import { renderToStaticMarkup } from 'react-dom/server';
const html = renderToStaticMarkup(<Page />);
Він створить неінтерактивний HTML-вивід ваших React-компонентів.
Дивіться більше прикладів нижче.
Параметри
reactNode: Вузол React, який ви хочете відрендерити в HTML. Наприклад, JSX-вузол типу<Page />. .
- опціонально
options: Об'єкт для серверного рендерингу.- optional
identifierPrefix: Рядковий префікс, який React використовує для ідентифікаторів, згенерованихuseId. Корисно для уникнення конфліктів при використанні декількох коренів на одній сторінці.
- optional
Повернення
Рядок HTML.
Застереження
renderToStaticMarkupвихід не може бути гідратований.renderToStaticMarkupмає обмежену підтримку підвішеного стану. Якщо компонент призупиняється,renderToStaticMarkupнегайно надсилає свій запасний варіант у вигляді HTML.renderToStaticMarkupпрацює в браузері, але використовувати його в клієнтському коді не рекомендується. Якщо вам потрібно відрендерити компонент в HTML у браузері, отримайте HTML, відрендеривши його у DOM-вузол.
Використання
Відображення неінтерактивного React-дерева як HTML у рядок
Викличте renderToStaticMarkup, щоб перетворити ваш застосунок на HTML-рядок, який ви можете надіслати разом із відповіддю сервера:
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);
});
Це створить початковий неінтерактивний HTML-виведення ваших React-компонентів.
Цей метод рендерить неінтерактивний HTML, який не можна гідратувати. Це корисно, якщо ви хочете використовувати React як простий генератор статичних сторінок, або якщо ви рендерите повністю статичний вміст, наприклад, листи.
Інтерактивні програми повинні використовувати renderToString на сервері та hydrateRoot на клієнтській стороні.