【问题标题】:When would you use Client Side Rendering VS. Server Side Rendering? [closed]您何时使用客户端渲染 VS。服务器端渲染? [关闭]
【发布时间】:2020-10-09 18:39:32
【问题描述】:

我是 React 新手,想知道什么时候有人会使用:

1.服务器端渲染
2.客户端渲染

使用 React 和 Django Rest 框架。是什么导致某件事与其中一个或另一个更好?谢谢!

【问题讨论】:

  • 据我了解,如果你有很多 JS,你会想要使用 SSR 吗?但不完全确定。
  • @RahulRentash 这就是我的想法,但并不完全确定。我敢肯定还有其他原因。

标签: reactjs django django-rest-framework


【解决方案1】:

此列表试图简要概述此处的一些权衡。

搜索引擎优化

使用客户端渲染,当您查看页面的源代码时,您的整个 React 应用程序将变为类似 <div id="root"></div> 的内容。

过去,搜索引擎无法抓取任何 React 内容。今天,像谷歌这样的搜索引擎能够抓取这些内容,所以这不再是服务器端渲染的理由。结帐Google's docs 了解更多信息。这也是一个great talk的话题。

第一个内容绘制(又名性能)

对于大型应用,浏览器首次向用户显示内容所需的时间可能会有明显差异。有关更多信息,请参阅this article

数据

如果您的应用需要在首次挂载时获取数据,您可以在接收数据之前向用户显示加载微调器。另一种选择是服务器端呈现应用程序并在服务器上发出该请求。然后,顶级 React 组件可以接收该数据作为第一次挂载应用时可用的道具。

复杂性

服务器端渲染是一些项目可能不需要的额外复杂性。作为软件工程师,可以说我们有责任尽可能降低复杂性,并且选择客户端渲染应该是默认选项,直到您遇到需要服务器端渲染带来的额外复杂性的问题。

【讨论】:

  • 非常感谢您的回复!只是为了确认一下,我目前正在构建一个包含大量 CRUD 的仪表板。您会为此推荐哪种方法?非常感谢!!
  • 另外,你会不会对 Next.js 和 React 很熟悉?
  • 也想知道 Next.js 是如何融入图片的!
  • 我的荣幸!即使对于 CRUD 应用程序,我也会选择客户端渲染,直到我在那里遇到问题。许多人不会面临任何此类问题。
  • 我之前没有使用过 Next.js,但我已经为各种项目评估过它。由于我倾向于最小化依赖关系并且对项目的配置细节感到满意,所以我一直选择不使用 Next.js。 Next.js 负责包括 SSR 在内的大量配置,因此如果您想在不了解配置的情况下获得 SSR,Next.js 可能是一个不错的选择。就个人而言,我更喜欢自己学习基础知识并根据需要添加复杂性,而不是从不需要的复杂性开始,希望以后我会需要它
猜你喜欢
  • 2023-04-09
  • 1970-01-01
  • 2019-08-07
  • 2021-10-20
  • 2018-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多