首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSR反应应用的渲染过程及异步代码执行

SSR反应应用的渲染过程及异步代码执行
EN

Stack Overflow用户
提问于 2018-02-06 13:53:59
回答 1查看 360关注 0票数 0

当我使用react进行SSR时,将如何构建发送给客户端的内容?

  • 它是否等待异步操作完成?
  • 它是否等待树中所有组件的状态以某种方式稳定?
  • 它会在某些生命周期方法中等待异步代码,比如用componentWillMount() ...修饰的await/async代码吗?
  • 如果我将一些异步代码包装成承诺并调用setState,那么它就是回调--这个更改会被考虑进去吗?
EN

回答 1

Stack Overflow用户

发布于 2018-02-06 14:19:54

它将是一个简单的html字符串,它来自:

代码语言:javascript
复制
ReactDOMServer.renderToString(element)

并应在浏览器上呈现。Rest从html加载的所有js包在加载时将超过您的应用程序。这是常规的反应包:

代码语言:javascript
复制
<script src="/react-bundle.js"></script>

因此,呈现的html服务器将如下所示:

代码语言:javascript
复制
<html>
<head>
  ...
</head>
<body>
  <div id="root">
     // your server rendered html string shows up here
  </div>
  <script src="/react-bundle.js"></script>
</body>
</html>

承诺和异步代码不会是这个呈现的html的一部分,但是如果您需要添加它,这将需要一些额外的技巧。componentWillMount中的代码将被执行并包含在服务器呈现的字符串中,但是在组件挂载(如componentDidMount )之后触发的方法不会对服务器呈现的字符串产生影响。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48644707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档