【问题标题】:Any difference between renderToPipeableStream vs renderToNodeStream if no suspense was used如果没有悬念,renderToPipeableStream 和 renderToNodeStream 之间有什么区别
【发布时间】:2023-02-08 02:15:07
【问题描述】:

我理解我们使用 Suspense 来标记边界。如果没有悬念,那就意味着渲染将在一次 pass 中完成,这与没有流式处理的 SSR 相同。

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

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

【问题讨论】:

    标签: reactjs streaming


    【解决方案1】:

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

    但是,使用 renderToPipeableStream() 而不是 renderToNodeStream() 有一个主要好处,因为后者实际上正在折旧 - 它也不能很好地工作,因为它不能等待数据。

    renderToNodeStream() 基本上比 renderToString() 更接近完整的 SSR,但还差得远。

    这个 React 18 Github 公告很好地突出了一切。

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

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 2016-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多