How React 19 Almost Broke The Web

Ғылым және технология

As always, I am thankful to the React team for listening. This could have been bad. Suspense is complex, I'm happy it isn't about to break existing apps.
STARTING POINT (also follow tkdodo)
x.com/TkDodo/status/180076998...
Core blog post
tkdodo.eu/blog/react-19-and-s...
Check out my Twitch, Twitter, Discord more at t3.gg
S/O Ph4seon3 for the awesome edit 🙏

Пікірлер: 274

  • @rafaelarantes4804
    @rafaelarantes48047 күн бұрын

    mode: "parallel" | "waterfall"

  • @some1and297

    @some1and297

    Күн бұрын

    100%, also having parallel be the default to not break api.

  • @prosto1076

    @prosto1076

    Күн бұрын

    "popcorn" | "waterfall"

  • @d3stinYwOw
    @d3stinYwOw8 күн бұрын

    >Open source project >Discord Every single damn time. Use discourse or something similar, don't hide behind discord walls.

  • @ReedoTV
    @ReedoTV8 күн бұрын

    Imagine getting to upgrade to the current version of a framework 😱

  • @everythingpony

    @everythingpony

    8 күн бұрын

    Right?

  • @NicoRTM

    @NicoRTM

    8 күн бұрын

    I'm glad that react is not a framework wink wink

  • @PhilipAlexanderHassialis

    @PhilipAlexanderHassialis

    8 күн бұрын

    Imagine something that is used by hundreds of thousands of developers for a myriad different application cases STILL BEING FASHIONED AFTER WHAT'S BEST FOR EFFIN' META. Seriously, the community must yank the whole thing and ECMA/ANSI the hell out of it. It's too dangerous to be stewarded by the META/VERCEL people anymore.

  • @svenmify

    @svenmify

    8 күн бұрын

    @@PhilipAlexanderHassialissimple, just fork, improve and maintain it

  • @elvispalace

    @elvispalace

    8 күн бұрын

    ​@@svenmify exactly

  • @JeeGurda
    @JeeGurda8 күн бұрын

    It's actually interesting how React team managed to miss on this, since there are select few libraries that are even able to work with Suspense. The fact that their tests didn't include react-query is pretty funny

  • @hunterxg

    @hunterxg

    8 күн бұрын

    Meta doesn't use react query internally. Everything is using Relay which precompile all the data dependencies and preloads it.

  • @Steel0079

    @Steel0079

    8 күн бұрын

    What's testing?

  • @gerkim3046

    @gerkim3046

    8 күн бұрын

    @@hunterxg am sure meta knows that it is not okay if react works for them but breaks for all other devs, right?

  • @zweitekonto9654

    @zweitekonto9654

    8 күн бұрын

    ​@gerkim3046 why? They built it for themselves anyway.

  • @Steel0079

    @Steel0079

    8 күн бұрын

    @@zweitekonto9654 that's not true. They have stake in others using it.

  • @LuKaSSthEBosS
    @LuKaSSthEBosS8 күн бұрын

    wake up babe, another react leaky abstraction just dropped

  • @naughtiousmaximus7853

    @naughtiousmaximus7853

    8 күн бұрын

    lmaoooooooooo

  • @nonefvnfvnjnjnjevjenjvonej3384

    @nonefvnfvnjnjnjevjenjvonej3384

    7 күн бұрын

    react had the best api when it launched. with react.createclass. it is all downhill since then.

  • @SeanCassiere
    @SeanCassiere8 күн бұрын

    From the library side of things, the fact that React does not ship its own typescript types bundled toghether during installation makes things so much harder. It makes it so that the installation/upgrades need to be orchestrated with the "overrides" field in the package.json (to match the types package) is something that makes it much more of a chore (especially making sure you have the right version of the types installed 😮‍💨). I understand from the outside some may see it as "oh, you guys should know to do this..." or "common! it can't be that hard!". But given that we are already swamped, this extra burden is something that's most of the time just not worth the hassle. Please ship your own typescript types!

  • @JTsek
    @JTsek8 күн бұрын

    "Second Act: The Suspense Builds"

  • @mchisolm0
    @mchisolm08 күн бұрын

    Thanks for covering this Theo and team for the great job editing it. Bummed I didn’t get to see the live stream, though. Thanks 😊

  • @wlockuz4467
    @wlockuz44678 күн бұрын

    Just an unopinionated javascript library. Nothing to see here.

  • @doyouwantsli9680

    @doyouwantsli9680

    7 күн бұрын

    A framework/library being unoptimized? What a surprise

  • @JJCUBER

    @JJCUBER

    7 күн бұрын

    They said unopinionated, not unoptimized.

  • @jackmcpickle
    @jackmcpickle4 күн бұрын

    Thanks for all your work on this @Theo - much appreciated.

  • @devagr
    @devagr8 күн бұрын

    Congrats to Phase on managing to get this chaotic recording into an actual video

  • @t3dotgg

    @t3dotgg

    8 күн бұрын

    For real

  • @GratuityMedia

    @GratuityMedia

    8 күн бұрын

    🪄 Thank you! It seemed crazy on stream but was a lot of fun to edit down.

  • @polyneuroparty

    @polyneuroparty

    8 күн бұрын

    This was actually my thoughts

  • @ciarancurley5482

    @ciarancurley5482

    7 күн бұрын

    Og stream was like 3 hours I think lol with all the live coding

  • @doc8527
    @doc85278 күн бұрын

    Nowadays, I still use the old "{ loaded ? : }" to fully control all the data fetching behaviors. even naivest person in the team can understand what it does. instead of guessing the "". I know it's verbose, but serious question though: is there any speed, performance, render improvement, or edge case where is good for? I only care about performance improvement, hence if the can bring a better UX to the end user. My own DX is less matter in this case.

  • @naughtiousmaximus7853

    @naughtiousmaximus7853

    8 күн бұрын

    Your solution is 10 times better. I hate clever solutions, give me simple stuff that you can easily reason about.

  • @kenjimiwa3739

    @kenjimiwa3739

    8 күн бұрын

    ✋ I do this too. No issue!

  • @josevsebastian2909

    @josevsebastian2909

    8 күн бұрын

    Technically loading state is the only stable solution in React 18. Suspend on promise was never stable in 18.

  • @njgroene

    @njgroene

    8 күн бұрын

    Also on team loading state!

  • @paw565

    @paw565

    8 күн бұрын

    Goat comment ❤

  • @witchmorrow
    @witchmorrow5 күн бұрын

    Thank you Theo and team, another super informative video! I would definitely appreciate a video all about Suspense itself

  • @Frostbytedigital
    @Frostbytedigital8 күн бұрын

    Solid is the answer

  • @ChichaGad

    @ChichaGad

    8 күн бұрын

    SolidStart and SvelteKit are the answers Although I'd always go with SolidStart

  • @user-xj5gz7ln3q
    @user-xj5gz7ln3q8 күн бұрын

    Wow.. so much stuff going on just to produce HTML. :)

  • @AyoubNachat-wm4no

    @AyoubNachat-wm4no

    8 күн бұрын

    i really now just using a server (Hono or express) + ejs template engine and Alpinejs for interactivity

  • @adreto2978

    @adreto2978

    8 күн бұрын

    t. no coder or only coded todo list on web

  • @krisvanhouten1543

    @krisvanhouten1543

    8 күн бұрын

    index.html solves this.

  • @patrickaikonia853

    @patrickaikonia853

    8 күн бұрын

    Hopefully being sarcastic here.

  • @GPT-X938

    @GPT-X938

    8 күн бұрын

    Have you seen all the ways we can produce CSS? 😂

  • @pinatacolada7986
    @pinatacolada79868 күн бұрын

    I think Solid JS solved this a few years ago.

  • @thelvadam5269
    @thelvadam52697 күн бұрын

    React is looking more like a pit of failure than a pit of success.

  • @BarryMichaelDoyle
    @BarryMichaelDoyle8 күн бұрын

    Ah I was at React Summit :D Was excited to see you there but then saw you were remote. I'm sure my company will send me off to the US on in 2025 though, so always next time :)

  • @collinoly
    @collinoly8 күн бұрын

    If you have a slow component shouldn’t you memoize it? Seems like we have a pattern to handle that situation already. Also why not just create a second component. Keep suspense the same and create another version that blocks.

  • @dannyisrael
    @dannyisrael8 күн бұрын

    Yes please. Love these technical videos 😊

  • @seannewell397
    @seannewell3977 күн бұрын

    really good job man.

  • @ChichaGad
    @ChichaGad8 күн бұрын

    Solid JS is the future, PERIOD!

  • @ChichaGad

    @ChichaGad

    8 күн бұрын

    Shoutout to Svelte as well

  • @everythingisfine9988

    @everythingisfine9988

    8 күн бұрын

    Both are quality ✌️

  • @DmitriiBaranov-ib3kf

    @DmitriiBaranov-ib3kf

    7 күн бұрын

    Vue

  • @ashbjorn
    @ashbjorn6 күн бұрын

    When you announced the different acts, I couldn't help but hear the Law&Order "TUNNDUNN" sound in my head xD

  • @asagiai4965
    @asagiai49658 күн бұрын

    At this point those client will sigh "this suspense is killing me"

  • @Niksorus
    @Niksorus8 күн бұрын

    Suspense was never announced stable for data fetching. Here is what happens when you jump on a hype train too soon :( "Suspense-enabled data fetching without the use of an opinionated framework is not yet supported. 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."

  • @Theepicfrenchguy
    @Theepicfrenchguy7 күн бұрын

    Thanks for covering this topic, as a daily R3F user, it's terryfying.

  • @ssjarchon
    @ssjarchon8 күн бұрын

    This is a trash change. If your component is slow to render, you almost certainly abstracted that computation away into a use effect or similar hook - so the thing they are optimizing for is something that the developer should have addressed. Making this force a waterfall execution is optimizing for bad behavior and a major code smell

  • @hunterxg

    @hunterxg

    8 күн бұрын

    Watch the video again. The change is made for use cases when fetches are optimized, which is the case at Meta

  • @lalit5408

    @lalit5408

    8 күн бұрын

    Wait.... how are you doing rendering heavy (CPU bound) work in a useEffect?

  • @doyouwantsli9680

    @doyouwantsli9680

    7 күн бұрын

    If they gave a crap they wouldnt use react anyway

  • @gsgregory2022
    @gsgregory20227 күн бұрын

    Two of the big issues that caused this seem to be that they failed to understand the use case, and did not note that the change was a breaking change to previous behavior. The response to feedback though is one of the best examples of properly handling things I've seen in awhile.

  • @codeChuck
    @codeChuck8 күн бұрын

    It is not ok for components to trigger a rerender of previous ones. Suspense should not waterwater, otherwise it is useless. They should keep fetching all at once, but find solution to do not rerender components with previously fired promises.

  • @thirdvect0r
    @thirdvect0r8 күн бұрын

    I'm so glad I'm not working in React anymore.

  • @emmanuelezeagwula7436

    @emmanuelezeagwula7436

    8 күн бұрын

    what do you use ?

  • @fatihtoprakkale4174

    @fatihtoprakkale4174

    8 күн бұрын

    @@emmanuelezeagwula7436 real men use Vue 3/Nuxt 3

  • @kkebo

    @kkebo

    8 күн бұрын

    @@emmanuelezeagwula7436 probably jquery or php, or MUH vanilla js

  • @jaycejones2622

    @jaycejones2622

    8 күн бұрын

    @@emmanuelezeagwula7436 i moved to svelte 5 a couple months ago, its been great. so much less thought put in to renders, it just works.

  • @ChichaGad

    @ChichaGad

    8 күн бұрын

    ​@@emmanuelezeagwula7436 Solid JS or Svelte Just anything but React

  • @n8style
    @n8style8 күн бұрын

    I just spent an hour watching a dude read a blog and a bunch of tweets lol

  • @user-lq7xz1th4x

    @user-lq7xz1th4x

    8 күн бұрын

    fr

  • @comosaycomosah

    @comosaycomosah

    7 күн бұрын

    Lol yeaaaa only some of these are good.....more are bad than good imo but there are some great insights still.....sometimes

  • @madlep
    @madlep8 күн бұрын

    Everyone: Don’t go chasing waterfalls. Please stick to the rivers and the lakes that you’re used to. React team: Hold my beer…

  • @codeChuck

    @codeChuck

    8 күн бұрын

    This is so frustrating :) First you get this shiny promise about suspense being good for rendering async stuff, and then they say that they remove it. What is the point? To create more buzz around the library?

  • @beaticulous

    @beaticulous

    8 күн бұрын

    Inability to stay on course and living reactively can be a sign of depression. Depressed libraries concentrate on immediate at hand problems, because their programmers are in a stressful state and they cannot focus on long term goals.

  • @jameslouizbuilds
    @jameslouizbuilds8 күн бұрын

    Move fast and break things

  • @mentoriii3475

    @mentoriii3475

    8 күн бұрын

    They are focused so much on promoting nextjs

  • @KetaFPV
    @KetaFPV7 күн бұрын

    Watching this live was a journey

  • @WiseWeeabo
    @WiseWeeabo7 күн бұрын

    solution: get out of web and go into application space

  • @himankshu
    @himankshu8 күн бұрын

    I have moved to solidjs and i love it

  • @naughtiousmaximus7853

    @naughtiousmaximus7853

    8 күн бұрын

    No jobs for Solid tho :/

  • @ChichaGad

    @ChichaGad

    8 күн бұрын

    Solid JS is the future I have to say I moved to it almost 2 months ago and so far I love it I ported one of my major projects (built with NextJS) to it in 3 weeks and man the performance is now light years ahead from what was made with React!

  • @everythingisfine9988

    @everythingisfine9988

    8 күн бұрын

    Solid or Sveltekit are fantastic. But yeah, the job market 🤷‍♀️

  • @brewzonekeeone5724
    @brewzonekeeone57247 күн бұрын

    Egregiously over-engineered.

  • @kenjimiwa3739
    @kenjimiwa37397 күн бұрын

    I typically use React-query and render the loading / error states in the component. What I don’t understand about Suspense is why would you want to couple loading states for multiple components into one? Ie. if data is ready for one component just render it. Isn’t that a better UX? Why wait for *all* child components to finish fetching before rendering them all at the same time?

  • @Luisllaboj19
    @Luisllaboj198 күн бұрын

    So boundary actually triggers when a promise is thrown, which terminates the rendering because of the exception, and that forces to re-render each component again untill all of them under the same are done so it no longer has to throw and just render their contents with the resolved promises?

  • @LewisMoten
    @LewisMoten8 күн бұрын

    This is a nightmare. I’d prefer that they left it as the old way and introduce an attribute to change the loading behavior.

  • @kakterius
    @kakterius8 күн бұрын

    Zustand is German for State as in Status it's pronounced tsoo shtunt

  • @elijahbuscho7715

    @elijahbuscho7715

    8 күн бұрын

    I would say it's more like shtant, with a long 'a' like in the solfege Fa.

  • @Labib2003

    @Labib2003

    8 күн бұрын

    like zoo stunt?

  • @ivan.jeremic

    @ivan.jeremic

    8 күн бұрын

    who asked?

  • @carnivores6823

    @carnivores6823

    8 күн бұрын

    Me ​@@ivan.jeremic

  • @elijahbuscho7715

    @elijahbuscho7715

    7 күн бұрын

    @@ivan.jeremic it seems like a pretty appropriate comment to me, given that, in the video, Theo made a comment about his potentially dubious pronunciation of the word. It seems sensible to document, for anyone curious, the actual origin, meaning, and pronunciation of the word.

  • @gabrielbianchi2246
    @gabrielbianchi22468 күн бұрын

    Theo, do a video on full history of suspense. Probably after React 19 is released

  • @patrickaikonia853
    @patrickaikonia8538 күн бұрын

    Why not just wrap each component in its own suspense boundary though. The way I tend to think of it is a component that does its own data fetching should probably be its own page. Its okay for a component to do a mutation though since in that case are are re-rendering everything anyway

  • @Xemmness

    @Xemmness

    7 күн бұрын

    They want everything to pop out at once i guess, which means every component should be a child under suspense, if not, it will cause the popcorn ui problem which means unpredictable CLS order

  • @Cmacu

    @Cmacu

    7 күн бұрын

    Avoiding popcorn UI in favor of presumably skeletons that renders into an explosion of something barely related

  • @patrickaikonia853

    @patrickaikonia853

    7 күн бұрын

    Anyway like Theo once said, some of these things need careful consideration in the context of one's Application, and not just the documentation

  • @MaxPicAxe
    @MaxPicAxe7 күн бұрын

    23:22 "What we should do instead is immediately unwind the stack as soon as something suspends, to unblock to loading state." I agree the stack should be unwound instantly, but not by forcibly unwinding it with the new waterfall mechanism, but rather it should be naturally unwound by programmers taking care to offload any heavy work off the main thread. Can't be hackishly fixing main thread sluggishness by introducing this type of solution. This is just the first thought that has come to mind, willing to be convinced otherwise.

  • @yiannis_p
    @yiannis_p7 күн бұрын

    That’s why react won, the people behind it and around it are just superb and they have made a fantastic community. Thanks for the video, having watched your streams I can imagine how long this took to film and edit!

  • @gametec_live
    @gametec_live8 күн бұрын

    ...how did i just watch a 55min video on react suspense... I dont even use react...

  • @Satook
    @Satook6 күн бұрын

    If they want to change the semantics, they should introduce a new name for it and not change the existing primitive. They can deprecate the old name and give people time to adjust or have the old behaviour via a plugin for devs/teams that want/need it. Even though it's a major version bump, changing the behaviour of a freqently used primitive underneith people is an awful move.

  • @Caldaron
    @Caldaron8 күн бұрын

    can't they just put every child of a suspense(Or every other parent component for that matter) in a promise wrapper so that they're forced to run fetching/rendering in parallel and wait for a Promise.all(Settled)?

  • @LightTheMars
    @LightTheMars8 күн бұрын

    Why not make it an option for Suspense?

  • @vnshngpnt

    @vnshngpnt

    7 күн бұрын

    React team knows better what you should use without any options☝️🤓

  • @RyanLynch1
    @RyanLynch18 күн бұрын

    learning about react makes me very happy I'm not working in this world of CS. like it's all very odd abstractions and i often don't understand why they make such odd decisions

  • @AK-vx4dy
    @AK-vx4dy8 күн бұрын

    I know nothing about React but I always thought that data only flow top down, so what is a reason to refetch and even rerender all components in suspense?

  • @mugiseyebrows
    @mugiseyebrows6 күн бұрын

    react developers discuss the simplest way to get five inputs to a server jpg

  • @patrickaikonia853
    @patrickaikonia8537 күн бұрын

    Please Talk about suspense and suspending and the hooks surrounding it.

  • @kewang784
    @kewang7846 күн бұрын

    the more frontend videos I watch, the more eager i become to escape this hell

  • @devinlauderdale9635
    @devinlauderdale96358 күн бұрын

    another theo video reading an article LET'S GOOOOOOOOOOOOO

  • @t3dotgg

    @t3dotgg

    8 күн бұрын

    This is so far from an article read lol I filmed for 3 hours and live coded like 6 demos.

  • @VikasKapadiya1993
    @VikasKapadiya19937 күн бұрын

    If I use normal fetch instead of react-query, will it hit API everytime it re-render?

  • @laubannenberg5446
    @laubannenberg54468 күн бұрын

    Really good video. I don't really know much about React but still accessible and interesting. It reminds me of the back and forth that was happening in Laravel over lazy loading models through their relations with other models, which from a performance viewpoint is awful, but it's really convenient. It has the same trade-off between trying to foresee in advance which data you'll need and should preload. This might be a case of the "No Free Lunch" theorem ( en.wikipedia.org/wiki/No_free_lunch_theorem ), where it's not possible to have one implementation that's the best for all use cases.

  • @bttobi123
    @bttobi1236 күн бұрын

    Whats the vs code theme?

  • @daltongomeslobato7329
    @daltongomeslobato73297 күн бұрын

    Thank god i work with Svelte

  • @BrentMalice
    @BrentMalice8 күн бұрын

    you should make a video on how Microsoft edge is the best browser cuz copilot is better than google now

  • @jordanbrennan1296
    @jordanbrennan12967 күн бұрын

    This is an inevitable situation when you ignore the native capabilities of the web platform and hand it all over to abstractions you don’t own. The Promise API and some very simple patterns makes all this hand-wringing go away. We need to stop injecting so much magic into our projects and go back to good engineering principles.

  • @PaulSebastianM
    @PaulSebastianM6 күн бұрын

    React in my eyes is no longer the prime example of innovative design that saved the web.

  • @fcnealvillangca7943
    @fcnealvillangca79437 күн бұрын

    I'm glad im on svelte kit now

  • @St0rMsk
    @St0rMsk8 күн бұрын

    Soooo, compiler could not improve performence in this case and still keep it parallel?

  • @romy4romy4
    @romy4romy47 күн бұрын

    It is overcomplicated. Just make a wrapper and draw substitution instead of blocking component.

  • @spoonikle
    @spoonikle7 күн бұрын

    HTMX and a templating language.

  • @kahnfatman
    @kahnfatman5 күн бұрын

    Frontend hell -- the d***thing get overtly complicated for no good reason. No wonder people get sick, tired and frustrated doing Frontend.

  • @MarkCerqueira
    @MarkCerqueira5 күн бұрын

    31:38 - Small world - I know Robert!

  • @MrMarioPrieto
    @MrMarioPrieto7 күн бұрын

    Me laughing at this while writing my plain web components that will work unmodified for the next 15 years.

  • @prod.arcsyne2990
    @prod.arcsyne29907 күн бұрын

    Queue South Park “were sorry “ episode

  • @jogibear9988
    @jogibear99888 күн бұрын

    Why is every component in a suspense rerendered every time, and not only the one wich received data?

  • @fatalglory777
    @fatalglory7777 күн бұрын

    My head hurts. This is seriously making me consider Alpine JS 😅

  • @mottahh4162
    @mottahh41627 күн бұрын

    What if i just don't want to use react query ?

  • @sounakmandal
    @sounakmandal8 күн бұрын

    Two solutions seem reasonable to me 1. Avoid using multiple children inside suspense 2. Change react to not rerender child inside suspense if that already resolved successfully.

  • @Cmacu

    @Cmacu

    7 күн бұрын

    React and not rerender in the same sentence? You must be thinking of another framework that probably already supports signals, which completely eliminates all this nonsense patches on top of patches just to fix messed up state management

  • @fredbluntstoned
    @fredbluntstoned7 күн бұрын

    What about a single promise not resolving. Then nothing renders.

  • @seannewell397
    @seannewell3977 күн бұрын

    get ricky to do an interview and it;s just "look at this mess, explain this" and then snipe him with his seniors/peers popping in on the call and styling all over his explanation. 😈 (i love all the hard working eng on this and deeply appreciate ricky engaging with us on xitter - gj ricky keep going ;p)

  • @happykill123
    @happykill1237 күн бұрын

    Thankfully, my code is already garbage enough to use one large query on top-level which passes all data down.

  • @szirsp
    @szirsp15 сағат бұрын

    I'm not a web developer, I don't understand why would you need to render anything at all until all the components in the suspense boundary got their data back? This parallel to sequential change just seem like the wrong "solution" to the problem. Isn't not rendering the components until everything is ready the whole purpose of this suspense?! So Why is it rendered/rum multiple times? With multiple rendering passes you turned on O(N) problem to O(N^2)... that doesn't seem wise to me...

  • @tomathepolliwog
    @tomathepolliwogКүн бұрын

    Can you please cover golang trying to remove the ability to use linkname and providing zero alternative for developers?

  • @puopg
    @puopg6 күн бұрын

    Would you be open to doing a dive into relay?

  • @puopg

    @puopg

    6 күн бұрын

    Even tho its GQL, but the data colocation, not needing to worry about updating stuff when removing data deps a tree needs or removing components. Lots of really cool stuff that could be fun for the community to get exposure to

  • @gageracer
    @gageracer8 күн бұрын

    While it's an interesting topic, I could watch only first half as I realized I was getting sleepy with the same point rephrased 25 times. Maybe because it's from the stream and not a written youtube vid effect but oh well.

  • @zweitekonto9654

    @zweitekonto9654

    8 күн бұрын

    It's called "milking content" when you have nothing better to talk about.

  • @tonnoztech
    @tonnoztech6 күн бұрын

    theo pls make 10 minutes videos :(

  • @nodemodules
    @nodemodules8 күн бұрын

    > "Hey Gemini, summarise this video"

  • @dahahaka
    @dahahaka7 күн бұрын

    why isn't there just some "prerender" hook on components that can be used for the prerendering instead of actually rendering the whole component and throwing it away xD

  • @Cmacu

    @Cmacu

    7 күн бұрын

    Kicking you down the well: This is Reaaaact!!!

  • @dahahaka

    @dahahaka

    6 күн бұрын

    @@Cmacu I don't get it xD can you explain?

  • @Cmacu

    @Cmacu

    6 күн бұрын

    @@dahahaka it’s reference to the movie 300 where the Spartans take pride and glory over what’s a decent proposal to make things work and solve an issue. Basically the react way of doing things is self contained functions with minimal external and internal bindings and the React team will die on this hill even after the rest of the world has discovered better solutions. This is Reaaccctttt!

  • @dahahaka

    @dahahaka

    6 күн бұрын

    @@Cmacu ahhh see I didn't know about this react hill :D I do get the reference, ty!

  • @modellking
    @modellking8 күн бұрын

    Honestly, I'm with the react team on this... Because the specific fetchs are so tightly coupled with how a specific componentvworks only its dev can decide what to fetch. Manually hoisting those to prefetch seems semantic. But itd be nice if they could figure that parallel rendering/not re-rendering siblings out

  • @hakuna_matata_hakuna
    @hakuna_matata_hakuna7 күн бұрын

    my brother here will spin everything even sebastian's arrogant tweet as a good thing , lol solid better

  • @pacifico4999
    @pacifico49997 күн бұрын

    Idk I think most of this is fixed by moving to Solid or something

  • @meka4996
    @meka49968 күн бұрын

    React is a joke... I am moving to SolidJs...

  • @himankshu

    @himankshu

    8 күн бұрын

    Mee too

  • @LynnUNSW
    @LynnUNSW7 күн бұрын

    3 api calls seems just wrong from start.

  • @turbulantarchitect5286
    @turbulantarchitect52866 күн бұрын

    Some people are like - oh my god! Let's cancel react. It's useless. React 19 is in beta to get to know issues like these right? Am I missing something? And as shown in thumbnail, react apologized on x I guess.

  • @Kamilek96
    @Kamilek968 күн бұрын

    Hehe, ohh I remember when react was easier than angular, what a times xd

  • @ws_stelzi79
    @ws_stelzi797 күн бұрын

    Well, every programming language has its framework developers it deserves! 🙄🥳

  • @voidreact
    @voidreact7 күн бұрын

    Glad the react team is going to delay the release

  • @mucookul
    @mucookul8 күн бұрын

    AAAAAAAA can someone tell me the name of the browser he’s using, I can’t remember the name

  • @codeChuck

    @codeChuck

    8 күн бұрын

    Arc

  • @mucookul

    @mucookul

    8 күн бұрын

    The purple one

  • @hqcart1
    @hqcart18 күн бұрын

    no wonder... that's why facebook freeze my laptop, react suck rerendering each component!

  • @fullstackcrackerjack
    @fullstackcrackerjack7 күн бұрын

    This entire functionality both pre and post change is shitty.

  • @josevsebastian2909
    @josevsebastian29098 күн бұрын

    Something no one seems to mention: suspend on fetch wasn't really a supported stable feature in React 18. It was experimental. Just because libraries like react-query implemented it, doesn't make them any less experimental. The React team has every right to change what they clearly marked as unstable. Suspend on promise resolution using use hook is only stable with React 19. If you had it in React 18 and moved to production, then it's your fault, not the React team's.

  • @Cmacu

    @Cmacu

    7 күн бұрын

    Got it. So making something, that people found a way to use, practically useless, is the answer to this problem… Patch on top of patch to patch the patch where things went wrong… Amazing

  • @josevsebastian2909

    @josevsebastian2909

    7 күн бұрын

    @@Cmacu to be fair, it's not technically useless; they just enforced the rule on how they wanted it to be used. It's react-query that implemented the anti-pattern to perfection. If you tried to suspend on fetch without react-query, you'd know why it's an anti-pattern; it will cause infinite rendering without memoization of the fetch request, which, again, is an anti-pattern as useMemo is only meant for optimization, not breaking infinite render. They meant for the promise to be passed from outside the suspense boundary from the beginning.

  • @AROAH
    @AROAH8 күн бұрын

    Not relevant to the purpose of the video, but that KidSuper dude has a really cool website and unbelievably overpriced clothes

  • @kenjimiwa3739
    @kenjimiwa37398 күн бұрын

    Is the solution to not use Suspense?

  • @zweitekonto9654

    @zweitekonto9654

    8 күн бұрын

    At this point, i dont even know what we're solving.

  • @vnshngpnt

    @vnshngpnt

    7 күн бұрын

    *to not use React

  • @kenjimiwa3739

    @kenjimiwa3739

    7 күн бұрын

    @@vnshngpnt naw React is good.

  • @mindget
    @mindget8 күн бұрын

    Theo's videos are the best motivation for me to not use react

Келесі