1. useSuspenseQuery 与 React 19 use()/Suspense 的集成边界,流式渲染与错误边界的工程协作
请解释 useSuspenseQuery 与 React 19 的 use()/Suspense 的集成边界,以及流式渲染与错误边界的工程协作?
- useSuspenseQuery 的 Suspense 集成
- React 19 use() 读取 promise
- 错误边界与流式渲染的协作
useSuspenseQuery 让查询处于 pending 时抛出 promise,触发最近的 Suspense 边界显示 fallback。React 19 的 use() 可直接在组件中读取 promise,配合 Suspense 实现数据获取的语义化。流式渲染下,Suspense 边界可让 HTML 先输出已就绪的部分,未就绪部分用占位并随后流式补全。错误边界捕获 useSuspenseQuery 抛出的错误,应放在 Suspense 外层或作为边界。工程协作要点:设置合适的 Suspense fallback 与 ErrorBoundary 层级,避免整页阻塞或错误冒泡到根导致白屏。
Suspense 的边界是"等待与错误的隔离线"。useSuspenseQuery 把数据获取变成可被 Suspense 暂停的异步,流式渲染提升首屏体验,错误边界处理失败路径。两者协调决定加载与错误体验。