React 19 has a Problem

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ม.ค. 2025

ความคิดเห็น • 133

  • @incarnateTheGreat
    @incarnateTheGreat 6 หลายเดือนก่อน +62

    This is why they have release candidates. People test it out and find issues like these. Hope it gets sorted.

    • @drewhjava
      @drewhjava 6 หลายเดือนก่อน +1

      Na, this is why you have words. You use those words to talk to people before making sweeping changes like this.

    • @incarnateTheGreat
      @incarnateTheGreat 6 หลายเดือนก่อน +1

      @@drewhjava wo...wor.....ds?

    • @philheathslegalteam
      @philheathslegalteam 6 หลายเดือนก่อน

      This is actually a good change.
      We are seeing a literal 1 second delay in skeletons showing due to expensive rendering passes down the tree.
      React better release their component to fix this though.

  • @idk_who_am_i2748
    @idk_who_am_i2748 6 หลายเดือนก่อน +39

    Im not a JS dev but im confused by the logic applied from react devs. WHY would you change the default behavior of a functionality if there are other options or rather it should be the developer that fixes the issue. If you have an expensive component why not make it also be self suspending that would eliminate the need to throw away the first render. Or if that is not possible than why not add an "attribute" to Suspense defining how it handles its children. for example default is "parallel" if you need to you set it to "sequential".

    • @wlockuz4467
      @wlockuz4467 6 หลายเดือนก่อน +21

      This feels like classic React. Create a problem then discuss solutions.

    • @marcuss.abildskov7175
      @marcuss.abildskov7175 6 หลายเดือนก่อน +6

      It'd classic React. Fix problems by causing more problems.

    • @lalit5408
      @lalit5408 6 หลายเดือนก่อน +1

      because it is not changing any default behavior. Suspense is going to be release in full with React 19 only. The behavior that these lib authors used was still beta. If you didn't notice only lib authors are complaining about this, because they went ahead and used React's internal/beta features.

    • @Ivcota
      @Ivcota 6 หลายเดือนก่อน +3

      Bro our community engineers just to engineer. Like we need to solve important problems, not make problems to be solved like a jimmy neutron episode

  • @wlockuz4467
    @wlockuz4467 6 หลายเดือนก่อน +23

    So much for an "unopinionated" JavaScript "library". React is a damn circus.

  • @jamshediqbal7936
    @jamshediqbal7936 6 หลายเดือนก่อน +13

    Fortunately, I haven't used suspense and don't have plans to use in future 🙂

    • @excalibur2417
      @excalibur2417 6 หลายเดือนก่อน

      You definitely should use it but certainly not in react 19 for now.

    • @null_spacex
      @null_spacex 6 หลายเดือนก่อน

      How do you do partial rendering/streaming?

    • @jonny555333
      @jonny555333 6 หลายเดือนก่อน +3

      Suspense is actually great, though. If you're currently not using suspense in situations you could benefit from, that means you're effectively waiting for everything to load before showing anything to the user which is worse than even the react 19 version of suspense.

  • @owenwexler7214
    @owenwexler7214 6 หลายเดือนก่อน +8

    So looks like I’m staying on React 18/NextJS 14 for the foreseeable future

    • @danish2462
      @danish2462 2 หลายเดือนก่อน

      Yes i do believe react 18 and next 14 are very stable and great for building complex applications by adding other packages to it like redux or zustand. React 19 has only one thing i liked which is a compiler which i thought would be similar to svelte compiler where it will push a compiled javascript to production and react will only be used as a dev dependency which will reduce the production bundle size. However, that is not the case instead we have some new hooks like useOptimistic, useTransition which is uncessarily trying to handle things automatically which developers used to manage themselves and i really dont like that. So i will only upvote react 19 for the react compiler but sadly it is nothing great in comparison to the svelte compiler because it still pushes react in production right and does not reduce the production bundle size like svelte does.

  • @nasko235679
    @nasko235679 6 หลายเดือนก่อน +7

    "Still recommend preloading but recognize it's not always practical" What do they mean by that? Sure you can preload initial data serverside but if the component is dynamic with dynamic data (like what most of react is used for) you need parallel fetching. I have no idea what they were thinking with this. Am I just missing something?

    • @IvanKleshnin
      @IvanKleshnin 6 หลายเดือนก่อน +3

      Dude, they literally call SPA approach a "legacy mindset of building FE apps". Going all-in for the Backend-centric rendering. Now we're expected to clean freaking browser cache from the server... The proclaimed benefit is "performance" but IMO it's more about control over ecosystem than anything else.

    • @andrewdrone
      @andrewdrone 6 หลายเดือนก่อน +2

      Lol. So they're saying Google Maps is built on a legacy mindset? That's rich...

    • @nasko235679
      @nasko235679 6 หลายเดือนก่อน +1

      @@IvanKleshnin I'd get it if this was ruby on rails or laravel + livewire where serverside rendering is integrated properly, but they expect us to do that in NextJS ? Yeah no, that's crazy. The whole point of react is client side responsiveness, if they take that away might as well use HTMX+backend of choice and call it a day.

    • @IvanKleshnin
      @IvanKleshnin 6 หลายเดือนก่อน

      @@andrewdrone yep, just today we've got another controversy. This time it's React-19 being 6x slower than React-18 on some SPA example. The release is suspended and they apologize like "We forgot that many people still use SPA and other legacy tech. But don't worry, we'll fix your problem". So, assumingly, it's a shame and a problem that some people use SPA and don't buy into new shiny NextJS approach @_@ I agree with all your points btw 🤝

  • @gufoscuro
    @gufoscuro 6 หลายเดือนก่อน +2

    "Pretty fast, in the tradition of react" - I wouldn't really remember React for its speed :)

  • @JollyCoding
    @JollyCoding 6 หลายเดือนก่อน +6

    Very curious to see what the solution to this is since they’ve walked back. Seems they liked this feature at Facebook and it helped them.
    Easiest way would seemingly be a prop for the method, parallel or waterfall on each Suspense. Default it to parallel.

  • @siya.abc123
    @siya.abc123 6 หลายเดือนก่อน +13

    Only react has these problems

  • @ThingEngineer
    @ThingEngineer 6 หลายเดือนก่อน +7

    React is THE problem.

  • @JackLdien
    @JackLdien 6 หลายเดือนก่อน +1

    Hey Josh. very basic question :D. What keyboard and mouse you are using? im currently looking for a "good" keyboard for programming and personally i dont like the 100% keyboards

  • @algobuddy
    @algobuddy 6 หลายเดือนก่อน +9

    Looks like React 19 is trying out the new "slow and steady wins the race" strategy-except it's losing😆

  • @botondvasvari5758
    @botondvasvari5758 6 หลายเดือนก่อน +2

    its problem is that its a cyptic shit that shouldnt be used anywhere

  • @jonny555333
    @jonny555333 6 หลายเดือนก่อน +3

    Does this only apply to client components? Or also RSC with suspense?

    • @devagr
      @devagr 6 หลายเดือนก่อน

      only client components, RSCs still fetch in parallel

  • @jesse-c5y
    @jesse-c5y 5 หลายเดือนก่อน +1

    has this issue been resolved?

  • @iabhishek12
    @iabhishek12 6 หลายเดือนก่อน

    what coding font you are using josh.... its looking so clean , thanks

  • @ashatron656
    @ashatron656 6 หลายเดือนก่อน

    Great vid mate!
    Sure it's good they listened... But why did they make such a breaking change without feedback in the first place?
    JS land is embarrassing at times.

  • @davidstranava4057
    @davidstranava4057 6 หลายเดือนก่อน +121

    React is a problem

    • @kdc-solutions
      @kdc-solutions 6 หลายเดือนก่อน +1

      🤣

    • @sachinbasnet8258
      @sachinbasnet8258 6 หลายเดือนก่อน +2

      😆✅

    • @ihateorangecat
      @ihateorangecat 6 หลายเดือนก่อน

      Js is problem.
      And I love it! ❤

    • @null_spacex
      @null_spacex 6 หลายเดือนก่อน +1

      Use something else

    • @Simple_OG
      @Simple_OG 6 หลายเดือนก่อน +8

      Javascript is a problem

  • @Tyheir
    @Tyheir 6 หลายเดือนก่อน

    Just add a prop to enable sequential rendering. This is where partial pre rendering will come in handy.

  • @Gaijin101
    @Gaijin101 6 หลายเดือนก่อน +3

    Glad we decided to move away from react. Tired of these insane changes. All these 'fixes' and its still significantly compared to Solid, Vue, Svelte.

  • @pplytas
    @pplytas 6 หลายเดือนก่อน +2

    Great vid! I noticed "disk cache" on the first example, doesn't that mean they are returned form the browser cache?

  • @ThingEngineer
    @ThingEngineer 6 หลายเดือนก่อน +1

    Only react would release a ‘mandatory waterfall feature’…

  • @faridguzman91
    @faridguzman91 6 หลายเดือนก่อน +15

    vue or svelte is the way. we need to jquery react.

    • @dvh_bzr
      @dvh_bzr 6 หลายเดือนก่อน

      never.

    • @justafreak15able
      @justafreak15able 6 หลายเดือนก่อน +5

      Exactly Vue, Svelte or Solidjs are much much better.

    • @gcash49
      @gcash49 6 หลายเดือนก่อน

      none of those are big enough improvements to react objectively

    • @justafreak15able
      @justafreak15able 6 หลายเดือนก่อน

      @@gcash49 What qualifies to be objectively better? perfs? bundle size? reactivity? maintainability ? DX? cause react is behind in most of these aspects. But definitely react has a very huge community and a lot of loyalists.

    • @marcuss.abildskov7175
      @marcuss.abildskov7175 6 หลายเดือนก่อน

      Angular

  • @sarcasticdna
    @sarcasticdna 6 หลายเดือนก่อน

    Now let's fix the compiler and then introduce some bugs in react 21

  • @1weiho
    @1weiho 6 หลายเดือนก่อน +8

    const [solution, setSolution] = useVue()

    • @u_long_u64_i64
      @u_long_u64_i64 3 หลายเดือนก่อน

      setSolution(new ReactCompiler())

  • @juanmartinguillen4876
    @juanmartinguillen4876 6 หลายเดือนก่อน +4

    React is the new jQuery

  • @CallMeLivio
    @CallMeLivio 6 หลายเดือนก่อน

    I really don't want to criticize your video. However, I believe that those who find this a breaking change are not truly familiar with the framework and are just following trends. For instance, the definition of Suspense in the initial React 16 (now React Legacy) was:
    ```React.Suspense lets you specify the loading indicator in case some components in the tree below it are not yet ready to render. In the future, we plan to let Suspense handle more scenarios such as data fetching.```
    If developers now have unoptimized code that wraps multiple different queries to multiple APIs, what do you expect? Just duplicate your React.Suspense for each component.

    • @CallMeLivio
      @CallMeLivio 6 หลายเดือนก่อน

      codesandbox.io/p/sandbox/react19-forked-fgxk7h

    • @CallMeLivio
      @CallMeLivio 6 หลายเดือนก่อน

      Here's a codesandbox:
      sandbox/react19-forked-fgxk7h

  • @ComedyForYooou
    @ComedyForYooou 6 หลายเดือนก่อน +2

    nice. from slow to slower.

  • @javierperezmarin6039
    @javierperezmarin6039 6 หลายเดือนก่อน

    I use suspense alot, i think it will slow most of the people that use it.
    I think it should be a prop in the Suspense component, somthin flike

  • @catbb
    @catbb 6 หลายเดือนก่อน +3

    “listening to our problem” 😹
    i mean they created the problem

  • @zakidzz
    @zakidzz 6 หลายเดือนก่อน

    what extention browser you use????

  • @AnandAnnavajhala
    @AnandAnnavajhala 6 หลายเดือนก่อน

    I somehow feel @josh needs to post every week 🤔 Good real world content out there!

  • @siyedyoussef3202
    @siyedyoussef3202 6 หลายเดือนก่อน +14

    svelte 5 in this time 👀

    • @gamingwolf3385
      @gamingwolf3385 6 หลายเดือนก่อน +3

      No nooooo , i try it before , its awesome but has less community packages / libraries and the support of typescript in svelte components is weird
      Thats it everything else is good

    • @MennoB-sk8tv
      @MennoB-sk8tv 6 หลายเดือนก่อน

      They have all you need nowadays even shadcn

    • @AlanDanielx
      @AlanDanielx 6 หลายเดือนก่อน

      @@gamingwolf3385you are way too outdated on svelte 😂 Svelte 5 supports TS everywhere with no problems

    • @tekoh
      @tekoh 6 หลายเดือนก่อน

      @@gamingwolf3385 You don't need a svelte specific library/package. If it works on standard sites it works on svelte.

    • @AdlerWeber
      @AdlerWeber 6 หลายเดือนก่อน +1

      @@gamingwolf3385 I believe Svelte 5 solved the inability to use TS outside . Generally, yes, Svelte has a smaller community, but I find shadcn-svelte works great, and TS/JS libraries work without a framework-specific wrapper. I far prefer it to React

  • @QueeeeenZ
    @QueeeeenZ 6 หลายเดือนก่อน +1

    That is why I prefer Nuxt (Vue)

  • @SamOween
    @SamOween 6 หลายเดือนก่อน

    One may argue that suspense was abused here and you might want to suspend the the components with the individual calls

    • @SamOween
      @SamOween 6 หลายเดือนก่อน

      Thinking about it, you might want to use Suspense in this way to ensure everything is loaded (i.e., no loading spinners)

  • @HideBuz
    @HideBuz 6 หลายเดือนก่อน +4

    3s is fast? Bro, real programmers measure in micro or milli seconds.

    • @SW-fh7he
      @SW-fh7he 6 หลายเดือนก่อน +1

      No 😂

    • @andrewdrone
      @andrewdrone 6 หลายเดือนก่อน +1

      A slug is fast if you compare it to a sloth, fwiw

  • @thefilteredcoder
    @thefilteredcoder 6 หลายเดือนก่อน +6

    Everyone whining about react. Just use something else. Oh wait, there isn’t a single job in svelte or whatever other libraries you prefer.

    • @statuschannel8572
      @statuschannel8572 6 หลายเดือนก่อน +6

      lol agree, why complaining about a release candidate? the whole purpose of them releasing the candidate is to get feedbacks like this!

    • @thefilteredcoder
      @thefilteredcoder 6 หลายเดือนก่อน

      @@statuschannel8572 exactly. Honestly I think it’s great that we as a community have a voice and we can prevent stuff like this from coming out and they actually want to listen to us

    • @marcuss.abildskov7175
      @marcuss.abildskov7175 6 หลายเดือนก่อน +3

      Tell me you're a web developer without telling me you're a web developer.
      React is for people who don't know anything about software engineering

    • @edenassos
      @edenassos 6 หลายเดือนก่อน

      @@marcuss.abildskov7175 React is for people who aren't broke, like you.

    • @statuschannel8572
      @statuschannel8572 6 หลายเดือนก่อน +1

      @@marcuss.abildskov7175 lol only from react 19 there is a compiler and it's magic. so by your logic everyone who uses a library or framework don't know anything about software engineering.
      Tell me you're a blind hater without telling me you're a blind hater moment!

  • @gkkkk7507
    @gkkkk7507 6 หลายเดือนก่อน

    Hi Josh. Programmierst du uns eine Schach-Website?

  • @zer00rdie
    @zer00rdie 6 หลายเดือนก่อน

    What i saw in the thumbnail was a corny looking smile.

  • @electroheadfx
    @electroheadfx 6 หลายเดือนก่อน +2

    React (facebook) is like Adobe, need to switch away from

  • @nonoonoooyes
    @nonoonoooyes 5 หลายเดือนก่อน

    it is all about marketing

  • @ChichaGad
    @ChichaGad 6 หลายเดือนก่อน +4

    Solid JS is the future

  • @AlanDanielx
    @AlanDanielx 6 หลายเดือนก่อน +3

    Svelte 5 FTW

  • @PlayBASIC-Developer
    @PlayBASIC-Developer 6 หลายเดือนก่อน

    Doesn't impact me .. interesting though

  • @aymenbachiri-yh2hd
    @aymenbachiri-yh2hd 6 หลายเดือนก่อน

    Thank you so much

  • @daphenomenalz4100
    @daphenomenalz4100 6 หลายเดือนก่อน

    NextJs should have been built on Go nd htmx or something 🗣️ instead of React nd Js

  • @abhinavjoshi224
    @abhinavjoshi224 6 หลายเดือนก่อน

    Gonna stick with React 18 till 2026...😂

  • @ahmedrowaihi9804
    @ahmedrowaihi9804 6 หลายเดือนก่อน

    0:19 feels gay

  • @rikizy528
    @rikizy528 5 หลายเดือนก่อน

    just move to angular

  • @pontusdorsay4673
    @pontusdorsay4673 6 หลายเดือนก่อน +3

    It's 2024, stop using react..

    • @SW-fh7he
      @SW-fh7he 6 หลายเดือนก่อน +1

      Why? Doesn't make sense.

  • @n6ra
    @n6ra 6 หลายเดือนก่อน

    so irrelevant but i have a crush on u now

  • @cristianosoleti489
    @cristianosoleti489 6 หลายเดือนก่อน +1

    Ta-da that's why React is inferior

  • @atharv_uploads
    @atharv_uploads 6 หลายเดือนก่อน

    Stop using react

  • @das_daily_
    @das_daily_ 6 หลายเดือนก่อน

    React18+Next14

  • @DryHub
    @DryHub 6 หลายเดือนก่อน

    Love from Bangladesh ❤️❤️

  • @weeb3277
    @weeb3277 6 หลายเดือนก่อน +1

    yo!

  • @muhriddinxusniddinov9015
    @muhriddinxusniddinov9015 6 หลายเดือนก่อน

    thank you bro, it's very amazing

  • @sangyoonpark2757
    @sangyoonpark2757 6 หลายเดือนก่อน

    Yay