Как «гидратация» работает с компонентами сервера React?

При использовании SSR для интерактивности необходимо загружать JavaScript, что часто достигается за счет гидратации. Как этого добиться с помощью серверных компонентов?

1 ответ

Компоненты сервера React не имеют состояния, обработчиков событий и т. д. и сами по себе не могут быть интерактивными. Но их можно чередовать с клиентскими компонентами, которые могут быть интерактивными.

Кроме того, компоненты сервера React по-прежнему требуют Javascript. Даже для серверных компонентов, несмотря на то, что никакие пакеты не отправляются, они все еще «гидратированы» в том смысле, что они превращаются в элементы JSX, а затем отображаются на странице как часть дерева React.

См. https://blog.plasmic.app/posts/how-react-server-components-work/ для полного обзора:

Зачем изобретать совершенно новый формат проводов? Цель клиента — восстановить дерево элементов React. Гораздо проще сделать это из этого формата, чем из html, где нам пришлось бы анализировать HTML для создания элементов React. Обратите внимание, что реконструкция дерева элементов React важна, так как это позволяет нам объединять последующие изменения в дереве React с минимальными фиксациями в DOM.

Другие вопросы по тегам