React v15.0.0:由于不推荐使用renderToString,如何进行服务器端渲染?

时间:2016-03-27 19:09:49

标签: javascript node.js reactjs version serverside-rendering

有一个新版本的React候选版本,版本15.0.0。由于现在在文库中不推荐使用renderToString方法,并且显然在将来的版本中将停止使用,在新版本中使用React支持服务器端呈现的方法是什么?

在文档页面上,除了不再支持此特定方法外,未提供renderToString或其他说明的替换。

谢谢

1 个答案:

答案 0 :(得分:1)

如评论中所述,使用最新版本的React渲染到字符串的正确(且唯一)方法是使用ReactDOMServer的renderToString。但是,许多现有的答案和文档都引用了已移除的React.renderToString。它已被弃用了一段时间,但显然最近才被删除。

这可能是一个快速而肮脏的例子(与node-babel一起运行):

const Express = require('express')
const React = require('react')
const ReactDomServer = require('react-dom/server')

const Label = React.createClass({
  render: function () {
    return <p> Foo! </p>
  }
})

const server = Express()

server.use(function(req, res) {
  const appHtml = ReactDomServer.renderToString(<Label />)
  res.send(appHtml)
})

server.listen(3000)