hydration 水合做了什么
1.绑定事件处理器:使得服务器端渲染的 HTML 元素变得可交互。比如,按钮的点击事件、表单的提交事件等。 2.重建应用状态:恢复或初始化客户端的 JavaScript 应用状态,使得客户端代码和服务器端渲染的一致。 3.同步 DOM:确保在客户端的 React(或其他前端框架)的虚拟 DOM(Virtual DOM)与服务器端生成的实际 DOM 一致。
为什么传统的 SSR 没有 Hydration 的概念?
传统 SSR 服务器发送给浏览器 HTML、js,js 加载执行的过程也相当于水合,只是传统 SSR 是多页面,前端并没有复杂的状态管理,服务器发送的 HTML 基本上可以直接交互。