React 有一个新的候选版本,v 15.0.0。由于现在库中不推荐使用 renderToString 方法,并且显然将在未来的版本中停止使用,那么在新版本中使用 React 支持服务器端渲染的方式是什么?
在文档页面上,除了不再支持此特定方法外,没有提供 renderToString 的替换或其他解释。
谢谢
React 有一个新的候选版本,v 15.0.0。由于现在库中不推荐使用 renderToString 方法,并且显然将在未来的版本中停止使用,那么在新版本中使用 React 支持服务器端渲染的方式是什么?
在文档页面上,除了不再支持此特定方法外,没有提供 renderToString 的替换或其他解释。
谢谢
如评论中所述,使用最新版本的 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)