Middle
Milyen HTML-t küld a Next.js a hidratálás előtt?
sobes.tech MI
Válasz az MI-től
Next.js при серверном рендеринге отдаст HTML, сгенерированный только из серверных компонентов. Клиентские компоненты не будут отрисованы на сервере, вместо них будет вставлен специальный placeholder (например, пустой div с атрибутами для гидратации).
В вашем случае структура: серверный div → клиентский div → серверный button.
На сервере будет отрендерен внешний серверный div, внутри него — placeholder для клиентского div, а сам внутренний серверный button не будет включён в HTML, так как он вложен в клиентский компонент и рендерится только на клиенте.
Пример упрощённого HTML до гидратации:
<div> <!-- серверный div -->
<div data-nextjs-client-component></div> <!-- placeholder для клиентского div -->
</div>
Клиентский div при гидратации загрузит и отрендерит вложенный серверный button уже на клиенте.