簡體   English   中英

NextJs API:用SSR反應頁面響應

[英]NextJs API: respond with SSR react page

目標:

  • 響應來自 nextjs api 的服務器端呈現的 html

為什么我需要這個:

  • 我正在使用 react 構建自定義內部 html 頁面編輯器,其中頁面 model 表示為 JSON。 我想將頁面 model JSON 發送到 nextjs api,將其傳遞給反應組件並返回 ZFC35369FDC70D5FCCA78A。

我試過的是 api 直接調用ReactDOMServer.renderToString

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)

如果您願意使用現成的解決方案,我建議您查看 React 富編輯器, https://draftjs.org/是最受歡迎的。 它們具有一系列功能,尤其是您需要的功能和 HTML 兼容性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM