目标:
为什么我需要这个:
我尝试过的是直接调用ReactDOMServer.renderToString
的api:
export default (req, res) => {
const model = req.body.pageModel
const body = ReactDOMServer.renderToString(
<App
model={model}
/>)
res.statusCode = HttpStatus.OK
res.setHeader("Content-Type", "text/html")
res.end(`
<!DOCTYPE html>
<html >
<head></head>
<body>
${body}
</body>
</html>
`)
}
问题:
是否有一种方法可以重用nextjs呈现方法而不是ReactDOMServer.renderToString
和JS字符串模板,以便我能够指定和使用自己的_app.js
和_page.js
来响应api?
类似以下内容将满足我的需求:
const html = next.render(<App model={model}>)
res.end(html)
答案 0 :(得分:0)
如果您愿意使用现成的解决方案,我建议您使用React丰富的编辑器,其中https://draftjs.org/是最受欢迎的。它们带有一系列功能,尤其是您需要的功能和HTML兼容性。