Вопрос проверяет понимание концепции серверного рендеринга (SSR) в React и способность реализовать его без использования готового фреймворка Next.js.
Серверный рендеринг (SSR) — это техника, при которой HTML-код страницы генерируется на сервере, а не в браузере клиента. Это улучшает SEO, так как поисковые боты видят готовый контент, и ускоряет первоначальную загрузку страницы (First Paint).
Next.js — это фреймворк, который предоставляет готовую инфраструктуру для SSR. Однако вы можете реализовать SSR вручную, используя Node.js и Express. Основные шаги:
ReactDOMServer.renderToString() для рендеринга React-компонента в строку HTML.ReactDOM.hydrateRoot().// server.js
const express = require('express');
const React = require('react');
const ReactDOMServer = require('react-dom/server');
const App = require('./App');
const app = express();
app.get('/', (req, res) => {
const html = ReactDOMServer.renderToString(React.createElement(App));
res.send(`
<!DOCTYPE html>
<html>
<head><title>SSR Example</title></head>
<body>
<div id="root">${html}</div>
<script src="/client.js"></script>
</body>
</html>
`);
});
app.listen(3000);Реализация SSR без Next.js возможна, но требует больше ручной работы и понимания внутренних механизмов. Это полезно, когда нужно полное контролирование процесса или когда проект не может использовать Next.js по каким-либо причинам.
Уровень
Рейтинг:
4
Сложность:
6
Навыки
JavaScript
Node.js
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию