如果没有使用悬念,则 renderToPipeableStream 与 renderToNodeStream 之间的任何区别

Jud*_*Gao 5 streaming reactjs

我明白,我们用Suspense来划定界限。如果没有悬念,这意味着渲染将在一次渲染中完成,这与没有流式传输的 SSR 相同。

如果代码库中根本没有 Suspense 使用,我们是否会从使用 renderToPieableStream - 新流中获得任何好处?

另外,这是否意味着 renderToNodeStream 会做同样的事情?

小智 2

renderToPipeableStream()如果您不使用该组件,那么在 React 18 中使用该组件没有任何好处Suspense

然而,使用renderToPipeableStream()而不是有一个重大好处renderToNodeStream(),因为后者实际上正在贬值 - 它也不能很好地工作,因为它无法等待数据。

renderToNodeStream()基本上比完整的 SSR 更近了一步,renderToString()但还没有完全实现。

React 18 Github 的公告很好地强调了一切。

https://github.com/reactwg/react-18/discussions/22

希望有帮助!