V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
X_Del
V2EX  ›  React

React 19 发布了,你们用过 Suspense / Transition 吗

  •  
  •   X_Del ·
    fenprace · 5 天前 · 1730 次点击

    https://react.dev/blog/2024/12/05/react-19

    印象里 Suspense 和 Transition 这两个功能是 React 18 发布的。似乎 NextJS 之后,React 社区的焦点就变成了 SSR 和 RSC 。这两个功能一直没什么存在感,生态也很一般。

    甚至直到现在,官方也没有说明第三方库该如何支持 Suspense:

    The requirements for implementing a Suspense-enabled data source are unstable and undocumented. An official API for integrating data sources with Suspense will be released in a future version of React.

    说实话这两个功能发布之后,我是一次也没用过。想问问大家用过这个两个 API 吗?体验如何?在新项目中是否会用这些 API ?

    12 条回复    2024-12-06 19:23:55 +08:00
    Track13
        1
    Track13  
       5 天前
    要不是看到这个帖,我都不知道 react 19 已经发布,beta 有半年了吧。hooks 我都没有用过几个。感觉是给框架用的。
    codehz
        2
    codehz  
       5 天前
    其实 suspense 的核心就是在 render 阶段 throw 一个 promise ,只要保证 promise 的引用不变,就可以一直被 suspense 接住显示 fallback
    然后 transition 就是能在下次 render 的时候 throw 另一个 promise 的时候暂时不显示 fallback 的内容(当然也可以不配合 suspense 用,单独用的情况就是可以标记里面触发的更新不应该 blocking ui ,ui 的 rerender 可以在后台完成后再展示
    slert
        3
    slert  
       5 天前
    react 的新特性总感觉光看文档看不明白 有没有可能是往复杂的道路越走越远了
    zsj1029
        4
    zsj1029  
       5 天前
    越玩越花,2/8 定律,大抵是 8 成项目用不到的,不用研究
    maichael
        5
    maichael  
       5 天前
    @slert 你的感觉其实没错,从 18 开始新的特性基本都是面向 Next.js 之类的框架服务为主了。
    zhw2590582
        6
    zhw2590582  
       5 天前
    隔了几年没用 react, 现在完全不懂这些新概念
    chesha1
        7
    chesha1  
       5 天前
    用是没有用过,但是学的时候学过: https://nextjs.org/learn/dashboard-app/streaming

    所以说 Suspense 的存在感不可能低的,至少新学 nextjs 的人都会学一遍,至于用不用就不一定了
    NessajCN
        8
    NessajCN  
       5 天前 via Android
    这个特性就是原本手搓的
    const [isLoading, setIsLoading] = useState(false);

    const onClick = async (e) => {
    setIsLoading(true);
    await some_action();
    setIsLoading(false);
    }

    给你个 hook 省得写起来啰嗦
    实用性还是有的
    但要说多大革新那就想多了
    原本就能轻松实现的功能
    iugo
        9
    iugo  
       5 天前
    用过 Suspense, 挺好的. 但也不是不可替代.

    目前 SSR 对我们意义不大, 即便使用 Next.js, 也是当作 CRA 的替代品.
    tcper
        10
    tcper  
       5 天前
    最近做一些 css 动画,css 动画弄一个一直在那播的比较容易,但是如果想搞一个根据状态变化,播一次,保持状态,倒回来这种就非常麻烦。

    react 要能解决这个问题比折腾这些 hook 强多了。
    Nyeshuai
        11
    Nyeshuai  
       5 天前 via Android
    Suspense 在根本的动态路由上就会碰到不算冷门把. Transition 项目太菜用不上. 19 的 普通 ref 和编译优化都是痛点更新,react 真没什么可挑的了,TS 指定省心框架。
    iugo
        12
    iugo  
       5 天前
    看了一下文档, 这是我们的经验总结: https://zsqk.github.io/news/2024-12-06-react-19.html
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2669 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 14:40 · PVG 22:40 · LAX 06:40 · JFK 09:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.