1

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

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

谢谢

4

1 回答 1

1

如评论中所述,使用最新版本的 React 呈现字符串的正确(也是唯一)方法是使用 ReactDOMServer 的renderToString. 但是,许多现有的答案和文档都提到了 removed 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)
于 2017-02-25T23:02:03.343 回答