当前位置: 首页 > 面试题库 >

React可以用于服务器端渲染。那是什么意思?

纪勇军
2023-03-14
问题内容

我是React和Redux的新手。虽然我知道React只是一个视图层。但是我看到一个术语“
React可以在服务器端渲染中使用”。这是什么意思,以及它如何使用nodejs在后台运行。有人可以帮助我弄清“服务器端呈现什么是反应”这一事实。


问题答案:

react- dom包装包括一个server模块。该模块允许您使用将应用程序呈现为简单的HTML字符串reactDOMServer.renderTostring()。基本上是给定的一组视图的快照props

https://facebook.github.io/react/docs/top-level-
api.html#reactdomserver.rendertostring

另外,此函数从生成的字符串中计算出唯一的哈希并将其附加到html。在 客户端,
react可以“拾取”服务器生成的HTML,并将其用作其“第一个呈现器”。

尽管客户端首先渲染和服务器渲染需要产生完全相同的输出,以做出反应以在客户端将其拾取。React可以通过生成的哈希值对此进行检查:客户端react也将生成html字符串(无需修改实际DOM,我认为这仅在虚拟DOM上完成)。现在,它还可以根据其虚拟DOM计算哈希值,并将其与服务器渲染的哈希值进行比较。如果它们匹配,则无需进行渲染。如果不这样做,客户端的反应将丢弃服务器生成的DOM并将其替换为其版本(并打印出错误/警告)。

与redux结合使用,这意味着除了呈现HTML外,您还需要将商店(store.getState())的状态传递给客户端。然后,客户端可以在创建其Redux存储实例时将此序列化状态用作初始状态。这将导致两个渲染(客户端+服务器)匹配。

如果您不需要客户端执行任何操作,而只想在服务器端创建静态标记,则react-dom可以提供以下renderToStaticMarkup()功能

https://facebook.github.io/react/docs/top-level-
api.html#reactdomserver.rendertostaticmarkup



 类似资料:
  • 问题内容: 我刚刚学会了最近的反应,打算将其用于下一个项目。我已经遇到过几次反应服务器端渲染,但是想知道为什么在“现代时代”我们仍然需要它。 在本文中,它认为通过服务器端渲染,用户不必等待从CDN或其他地方加载这些js即可看到初始静态页面,并且该页面将在js到达时恢复功能。 但是在使用webpack生产配置和gzip构建之后,整个捆绑包(包括react,我的代码和许多其他东西)仅占用40kb,而我

  • Vue.js 是构建客户端应用程序的框架。默认情况下,可以在浏览器中输出 Vue 组件,进行生成 DOM 和操作 DOM。然而,也可以将同一个组件渲染为服务器端的 HTML 字符串,将它们直接发送到浏览器,最后将静态标记"混合"为客户端上完全交互的应用程序。 服务器渲染的 Vue.js 应用程序也可以被认为是"同构"或"通用",因为应用程序的大部分代码都可以在服务器和客户端上运行。

  • info 如果您能了解下面这些技术,能加快您对本文的了解 vuex - Vue.js 应用程序开发的状态管理模式 Vue.js SSR - Vue.js 服务器端渲染 webpack - 编译构建工具 Lavas 服务器端渲染模板参考了 vue-hackernews 的渲染和开发机制,并且结合了 Lavas 的 App Shell 模板,导出的工程中会有 App Shell 等 如果您不了解 vu

  • React 提供了两个方法 renderToString 和 renderToStaticMarkup 用来将组件(Virtual DOM)输出成 HTML 字符串,这是 React 服务器端渲染的基础,它移除了服务器端对于浏览器环境的依赖,所以让服务器端渲染变成了一件有吸引力的事情。 服务器端渲染除了要解决对浏览器环境的依赖,还要解决两个问题: 前后端可以共享代码 前后端路由可以统一处理 Rea

  • 与传统 SPA(Single-Page Application - 单页应用程序)相比,服务器端渲染(SSR)的优势主要在于: 更好的 SEO,由于搜索引擎爬虫抓取工具可以直接查看完全渲染的页面。 请注意,截至目前,Google 和 Bing 可以很好对同步 JavaScript 应用程序进行索引。在这里,同步是关键。如果你的应用程序初始展示 loading 菊花图,然后通过 Ajax 获取内容,

  • 本文向大家介绍React服务端渲染(总结),包括了React服务端渲染(总结)的使用技巧和注意事项,需要的朋友参考一下 一、前言 为什么需要服务端渲染?什么情况下进行服务端渲染?笔者认为,当我们要求渲染时间尽量快、页面响应速度快时(优点),才会采用服务器渲染,并且应该“按需”对页面进行渲染 ——“首次加载/首屏”。即服务端渲染的优势在于:由中间层( node端 )为客户端请求初始数据、并由node