客户端呈现的应用程序与ReactJS中的服务器端呈现有何不同

时间:2016-11-20 20:57:01

标签: reactjs

我正在开发一个电子商务网站,所以搜索引擎优化是绝对重要的。我只是从ReactJS开发开始,因为大部分可用资源都使用客户端渲染,所以我最终做到了。

我想知道:

  1. React客户端和服务器端呈现的应用程序之间有很大区别吗?

  2. 客户端是否未针对SEO进行优化?

  3. 将客户端呈现的应用转换为服务器端应用程序需要多少额外费用?

  4. 在执行此操作时实际会更改所有组件的内容?

1 个答案:

答案 0 :(得分:1)

  

React客户端和服务器端呈现的应用程序之间有很大区别吗?

在服务器上没有DOM,因此例如componentDidMount将不会运行(因为组件实际上没有安装)。此外,您无权访问window

  

客户端是否未针对SEO进行优化?

Google在渲染SPA应用时表现相当不错,但是当您从API获取数据(例如文本)时会出现问题。如果响应很快,内容将被编入索引,但如果没有,则爬网程序将不会等待,并且该站点将被编入空白点索引。

  

将客户端呈现的应用程序转换为服务器端应用程序需要多少额外的工作?

这实际上取决于应用程序的复杂程度。

  

在执行此操作时,实际上会更改所有组件的内容?

没有。关键是你实际上渲染相同的东西但不是在浏览器中,而是在服务器上。 在最简单的情况下,唯一的区别是您使用ReactDOM.renderToString()而不是ReactDOM.render()