Node.js 与全栈 · 单选题 · 第 66 题
前端与全栈开发面试 · 第 66 题
服务端渲染(SSR)中的「水合」(hydration)指的是?
- A服务端把页面上用到的图片转换成 Base64 内嵌进 HTML 中再发送
- B浏览器丢弃服务端返回的 HTML,在客户端重新从零渲染整个页面
- C服务端把数据库查询结果预先写入浏览器的 localStorage 方便读取
- D客户端 JS 加载后,复用服务端输出的 DOM,绑定事件并接管交互
答案
D D. 客户端 JS 加载后,复用服务端输出的 DOM,绑定事件并接管交互
解析
SSR 让用户先看到 HTML,水合时框架在客户端重新执行组件、与现有 DOM 对齐并挂上事件。如果服务端和客户端渲染结果不一致(比如用了 Date.now() 或 window),就会出现水合不匹配的警告甚至报错。选择性水合、岛屿架构和 RSC 都在想办法减少需要水合的 JS。