最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

ReactJS服务器端呈现与客户端呈现

运维笔记admin10浏览0评论

ReactJS服务器端呈现与客户端呈现

ReactJS服务器端呈现与客户端呈现

我刚开始研究ReactJS,发现它为您提供了两种呈现页面的方法:服务器端和客户端。但是,我无法理解如何一起使用它。它是构建应用程序的两种不同方式,还是可以一起使用?

如果我们可以一起使用它,怎么做 - 我们是否需要在服务器端和客户端复制相同的元素?或者,我们可以在服务器上构建应用程序的静态部分,以及客户端上的动态部分,而不与已经预呈现的服务器端建立任何连接吗?

回答如下:

对于给定的网站/ Web应用程序,您可以使用客户端,服务器端或两者的响应。

Client-Side

在这里,您在浏览器上完全运行ReactJS。这是最简单的设置,包括大多数示例(包括http://reactjs上的示例)。服务器呈现的初始HTML是占位符,一旦加载了所有脚本,整个UI就会在浏览器中呈现。

Server-Side

将ReactJS视为服务器端模板引擎(如玉器,车把等......)。服务器呈现的HTML包含应该使用的UI,您不必等待加载任何脚本。您的页面可以被搜索引擎编入索引(如果没有执行任何javascript)。

由于UI是在服务器上呈现的,因此没有任何事件处理程序可以工作,并且没有交互性(您有一个静态页面)。

Both

这里,初始渲染在服务器上。因此,浏览器接收的HTML具有应有的UI。加载脚本后,将再次重新呈现虚拟DOM以设置组件的事件处理程序。

在这里,您需要确保使用您在服务器上呈现的相同props重新呈现完全相同的虚拟DOM(根ReactJS组件)。否则,ReactJS会抱怨服务器端和客户端虚拟DOM不匹配。

由于ReactJS在重新渲染之间区分虚拟DOM,因此真正的DOM不会发生变异。只有事件处理程序绑定到真正的DOM元素。

发布评论

评论列表(0)

  1. 暂无评论