我尝试使用React18中的renderToPipeableStream函数。它可以工作,但我不能很好地处理管道。
这是我代码的重要部分,我猜. html是html的一个字符串数组,我把字符串从中间分开,我想把react代码放在那里。
server.get("/", (req: any, res: any) => {
res.write(html[0] + '<div id="root">')
const stream = ReactDomServer.renderToPipeableStream(
<App />
).pipe(res, { end: false })
stream.on("end", () => {
res.write('</dev>' + html[1])
res.end()
})
})
问题是stream.on("end"
不火。但我想这是因为没有是html代码不完整。浏览器忽略,但这是不好的,所以。
2条答案
按热度按时间xt0899hw1#
这对我很有效:
https://reactjs.org/docs/react-dom-server.html#rendertopipeablestream
vmjh9lq92#
我可以使用以下代码解决此问题