o2team / tech-weekly

JELLY Tech Weekly
104 stars 8 forks source link

深入 React 18 的 Suspense SSR 架构 #186

Closed ZakaryCode closed 3 years ago

ZakaryCode commented 3 years ago

深入 React 18 的 Suspense SSR 架构

概要

React 18 将会推出全新的 Suspense SSR 架构,这一特性汇聚了 React 团队多年的心血,能显著提升 React SSR 的性能和用户体验。Dan 在文章中详细讲解了 Suspense SSR 的设计目的、两大特性以及整体架构设计。文章图文并茂,能让读者学习到 SSR 的原理、存在的问题和 Suspense SSR 所带来的改进。

推荐语

尽管引入 Suspense 的最初目的在于改变异步加载的用户体验,但一直以来它只能用于在前端配合 React.lazy 进行使用。这将会在 React 18 中得到根本的改变,Suspense 能把应用拆分为独立的小块,在服务端借助 pipeToNodeWritable 实现流式推送,在浏览器借助 Concurrent Mode 根据优先级进行 hydrate。这样我们能够对 SSR 的内容进行精细化控制,解决以往服务端全量传输、客服端全量 hydrate 带来的阻塞性问题,带来类似 BigPipe 的功能,显著提升用户体验。