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)