惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
J
Java Code Geeks
I
InfoQ
V
Visual Studio Blog
M
MIT News - Artificial intelligence
H
Help Net Security
博客园_首页
Blog — PlanetScale
Blog — PlanetScale
F
Fortinet All Blogs
Apple Machine Learning Research
Apple Machine Learning Research
人人都是产品经理
人人都是产品经理
G
Google Developers Blog
A
About on SuperTechFans
腾讯CDC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Last Week in AI
Last Week in AI
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
云风的 BLOG
云风的 BLOG
S
SegmentFault 最新的问题
WordPress大学
WordPress大学

React

react 的旧文档网站,切换语言到中文,直接跳到新文档?? react 这个技术栈到底是如何做到每天都有新发现的? 除了 next.js,在 2026 年,还有哪些 React 全栈框架推荐? React 列表虚拟化如何实现使用 CSS Grid 布局的同时支持拖动元素? 想不通, React 现代框架的设计者,为什么内置的 onClick 不默认防抖? 关于低代码的选型,请佬们帮我分析一下 将 Markdown 文件导入为 React 组件 - 写作文档,即时获取交互式演示 现代 React 应用卡顿的主要原因是什么?组件库 vs 重渲染机制 前端开发进军 server 端还是问题很多 问一下, expo react native 的 TextInput 在小米系统下,显示有问题。大家有遇到么,如何解决。 React Suite v6:面向现代化的稳健升级 各位总们,开发兼容到 ios 11 的 APP, RN 推荐吗 expo-image 在使用时候必须要加 style 属性 ? 佬们, 咨询一个前端 React 的开发效率问题, 就是如果想快速实现一个界面组件的效果,只需要 render 部分, 有什么好用的工具吗? 2025 快过完了,有 ssr 需求的项目现在最佳选择是什么? 在 react 中使用 signals 库 react charts 技术选型 折腾了好几天总算在 windows 系统本地打包 expo 项目出 apk 了,分享下经验 一个 RN 小游戏代码修改的活 为什么 React-Native 总是昨天还能编译,今天就报错了 React 19 下有什么方便点的组件? Arco Design 用起来还是有些问题 时隔多年再次用 react,请问 ahooks 的 useMemoizedFn 和 react 内置的 useEffectEvent 有什么异同? 来个专业写 移动 web 前端的, React 谁有闲工夫, React,帮忙定位并处理下 BUG react antd 就是包了巧克力的屎 提问一个 React 的问题 React 多人开发怎么确保性能,有没有最佳实践 zustand create 出来的 useStore,需不需要 destory? 关于 React: Metis UI:下一代 React 组件库,重新定义前端开发体验
gpt 给我搞懵了,是我对 Suspense 理解有误吗?
xiaoming1992 · 2025-06-08 · via React

我在考虑博客首页优化的时候,灵机一动想要先响应前 10 条博客,然后流式响应剩下的。就问了一下 gpt 。除了第一问以外,后续都是在跟 gpt 争论。。。

与 gpt 的聊天

我认为在博文只有 100 条左右的时候,/api/posts

  • 获取前十条
  • 全量获取

应该没有明显差距(尤其是 posts 接口还不获取内容,只获取标题、简介、发布日期之类的东西)

我假设都需要 200ms.

那么按 gpt 的意思来干的话,页面会是

|-- 白屏
|--|-- 200ms 后接口获取到数据,渲染 html 输出到前端
|--|-- 同时 Suspense 显示 fallback
|--|-- 同时请求第二个 get 接口,
|--|--|-- 再 200ms 后接口获取到数据,渲染 html 输出到前端

按我的意思的话,页面会是

|-- Suspense 立即显示 fallback
|-- 同时请求 get 接口,
|--|-- 200ms 后接口获取到数据,渲染 html 输出到前端

这不是明显我的方案更优吗,省了 200ms 的白屏。可 gpt 非说它的更好。

大佬们帮我看看,是不是我理解得不到位。

'use server'

async function Posts({ start, count }: { start: number; count?: number }) {
  const data = await get('/api/posts', {
    start,
    // 假设 count 为空的时候获取后续所有
    count,
  })

  return <RenderPosts data={data} />
}

// gpt 的意思是这样
export function Page() {
  return <>
    <Posts start={0} count={10} />
    <Suspense fallback={<div>loading</div>}>
      <Posts start={10} />
    </Suspense>
  </>
}

// 我的意思是这样
export function Page() {
  return <>
    <Suspense fallback={<div>loading</div>}>
      <Posts start={0} />
    </Suspense>
  </>
}