加载时间
可以在初始 HTTP 请求的响应中交付应用程序的呈现视图。在传统的单页 Web 应用程序中,第一个请求将返回,浏览器将解析 HTML,然后对脚本发出后续请求——最终呈现页面。这些请求仍然会发生,但它们永远不会妨碍用户查看初始数据。
这对快速互联网连接没有太大影响,但对于低网络覆盖区域的移动用户来说,这种初始数据渲染可以使应用程序渲染速度加快 20-30 秒。
具有静态数据的视图也可以在网络级别缓存,这意味着可以以很少的计算开销提供 React 应用程序的渲染视图
搜索引擎优化
当搜索引擎爬虫到达网页时,会提供 HTML 并检查静态内容并编制索引。在纯客户端 Javascript 应用程序中,没有静态内容。一旦适当的脚本加载和运行,所有这些都是动态创建和注入的。
与 React 不同的是,大多数框架无法将它们的组件图序列化为 HTML,然后再重新填充它。他们必须使用更复杂的方法,这通常涉及在服务器的无头浏览器中呈现他们的页面,然后在爬虫请求时提供该版本。
React 可以将组件树渲染为来自服务器端 JS 环境(例如 Node.js)的 HTML 字符串,然后立即提供服务。无需无头浏览器或额外的复杂性。
脚本
它还允许您编写优雅降级并最终可用作瘦客户端的应用程序。这意味着处理在服务器上进行,应用程序可以在禁用 Javascript 的浏览器中使用。这是否是一个需要考虑的重要市场是另一场辩论。