React server components from scratch!

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ธ.ค. 2024

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

  • @t3dotgg
    @t3dotgg ปีที่แล้ว +177

    One of the best RSC videos I've seen so far

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

      You meant the best though right?

  • @iamfrankstallone
    @iamfrankstallone ปีที่แล้ว +59

    This is one of the best 20 minute tutorials I’ve ever watched. 👏🏻
    Ben, your format, production, depth of knowledge, ability to articulate that knowledge, and humor created a masterpiece. 🎉
    I had no interest in ever learning how to do this. As a front of the front end recovering React developer my interest in this subject was low coming in. You magically peaked my interest, keep me engaged, and - to my absolute shock - I understood everything… including the webpack monkey patch. 😅

    • @bholmesdev
      @bholmesdev  ปีที่แล้ว +4

      Appreciate that so much! Glad it all clicked for you 🙌

  • @thejackshelton
    @thejackshelton ปีที่แล้ว +60

    I think Ben just did a better job explaining RSC's in 20 minutes than the entire industry in the last 2 years 😅

  • @dgurney
    @dgurney ปีที่แล้ว +12

    Wow this was an incredible explanation. Of all the videos and posts I’ve seen about RSC, this is the ONLY ONE THAT ACTUALLY MAKES SENSE and explains how things really work under the hood. Well done

  • @ProjectNeo-tk4hm
    @ProjectNeo-tk4hm 9 หลายเดือนก่อน +1

    So cool, I also had an idea that RSC looks a lot like PHP, and you confirmed it!

  • @antoniojurkic7455
    @antoniojurkic7455 11 หลายเดือนก่อน +1

    This is awesome. So concise, fun and without unnecessary info. Please do more! 👏

  • @brayanjpm
    @brayanjpm ปีที่แล้ว +4

    Dang, I will just say ‘underrated video for devs’, great video Ben

  • @pvsagar92
    @pvsagar92 11 หลายเดือนก่อน +1

    With this depth of knowledge and the ability to code it as well, you can very well be a core React team member. Great work bro !

  • @Akshatgiri
    @Akshatgiri ปีที่แล้ว +6

    This is awesome! Can't wait for every ecosystem ( go, laravel, rust etc ) to add react server components to their frameworks.

    • @armchair-architect
      @armchair-architect ปีที่แล้ว +1

      If all you need is server side rendering, then Laravel Livewire would get you there without all the extra plumbing. However if your use case requires server side rendering and then intricate client side logic as well, then this approach is perfecto.

    • @neociber24
      @neociber24 ปีที่แล้ว

      Never though about using React server components outside JS

    • @Akshatgiri
      @Akshatgiri ปีที่แล้ว +1

      @@armchair-architect Absolutely. Most projects I work on happen to require a dynamic frontend somewhere in the app. And though web components are a pretty good solution, react server components + react client side components + a solid backend stack is the move.

  • @rockNbrain
    @rockNbrain ปีที่แล้ว +3

    Great job Ben ... very interest to understand the magic behind these frameworks!!

  • @FreeCodeArena
    @FreeCodeArena 11 หลายเดือนก่อน +1

    I dont know half the things you just did, but this was super fun to watch😅. I'm gonna go watch more of your videos

    • @bholmesdev
      @bholmesdev  10 หลายเดือนก่อน +1

      Haha, glad I could be some nerd entertainment for you! Feel the same watching LowLevelLearning explain C 😅

  • @aryomuhammad8254
    @aryomuhammad8254 10 หลายเดือนก่อน +1

    Half of the video kinda hurt my brain. Great video Ben! Thank you!

  • @maxwebstudio
    @maxwebstudio 11 หลายเดือนก่อน

    Men, first this format is really cool. Nice to see you on a setup different than from your YT shorts. Second that explanation was just awesome ! Thank you !

  • @DanelonNicolas
    @DanelonNicolas ปีที่แล้ว +1

    I want you as president of the whole world.
    I think it's impossible to be more clear. Thanks!
    And thanks to Sebastian for sharing your video.

  • @aamiramin6112
    @aamiramin6112 ปีที่แล้ว +2

    Ben, I'm amazed by the level of knowledge and expertise that you have it's amazing. Thanks for sharing this and I love it please keep sharing your knowledge

    • @bholmesdev
      @bholmesdev  ปีที่แล้ว +1

      Appreciate that so much! Will do ❤️

  • @sylarfx
    @sylarfx ปีที่แล้ว +1

    Instant subscribe within the first minute. Love the energy!

  • @lebon1211
    @lebon1211 8 หลายเดือนก่อน

    Amazing! You do make RSC look simple, and definitely understandable 👏🏼

  • @developsdaniel
    @developsdaniel 11 หลายเดือนก่อน

    I’m enjoying following your journey Ben, I keep ending up at the places you’ve been solving - 11ty islanding, then fed up with 11ty dev experience, I’ve been looking to make a JAM stack site boilerplate with static server component islanding, and this vid did half the work for me. ❤❤

  • @NiklasZiermann
    @NiklasZiermann ปีที่แล้ว

    Awesome explanation. Stuff like this will hopefully help more people understand which parts of server components actually are just react and which are nextjs magic :)

  • @abdessamadchokri352
    @abdessamadchokri352 10 หลายเดือนก่อน

    Woow, Absolutely the best SSR tuto explanation !

  • @Marhaenism1930
    @Marhaenism1930 ปีที่แล้ว +1

    good one ben, and thanks for ur explanation in less than 20mins

    • @bholmesdev
      @bholmesdev  ปีที่แล้ว

      Thanks! Short explainers are my specialty :)

  • @JohnBuildWebsites
    @JohnBuildWebsites ปีที่แล้ว

    Only a few minutes in and became an instant subscribe. So few videos are this clearly explained! Thank you.

  • @echobucket
    @echobucket 8 หลายเดือนก่อน +4

    At any point when watching this or writing this, did anyone stop to say "Wait.. this is too complex, perhaps we shouldn't be doing this"

    • @acopier
      @acopier 7 หลายเดือนก่อน

      stfu it ain't that complex

  • @thisweekinreact
    @thisweekinreact ปีที่แล้ว +1

    Great video, and also nice teaser for the 4h stream that I want to watch now 😄

  • @TrostCodes
    @TrostCodes ปีที่แล้ว +1

    You're incredible dude, this was excellent!

    • @bholmesdev
      @bholmesdev  ปีที่แล้ว

      Thank you Mr. Horse! ❤

  • @TanweerAlam2008
    @TanweerAlam2008 10 หลายเดือนก่อน

    This a great presentation style. Appreciate the energy.

  • @s1n7ax
    @s1n7ax 10 หลายเดือนก่อน

    Bruh. This is the best react related video ever

  • @shawnmclean7707
    @shawnmclean7707 4 หลายเดือนก่อน

    Would love to see more like this on things like hydration and react query.
    What are those guys doing with suspense, hydration and RSC?

  • @pogospoofer69420
    @pogospoofer69420 10 หลายเดือนก่อน

    Dan Abramov will write a Novel explaining this (also other Reat devs). You are the best!

    • @jim.....
      @jim..... 10 หลายเดือนก่อน

      i believe this video is inspired by dan's post from last June of the same name github /reactwg/server-components/discussions/5

  • @fkondratov
    @fkondratov 8 หลายเดือนก่อน

    my brain got grilled a couple of times during this, but it was worth it

  • @igrb
    @igrb ปีที่แล้ว +11

    the fact that you did this in 19 mins is CRAZY
    common whiteboard man win

  • @saramshshrestha7641
    @saramshshrestha7641 10 หลายเดือนก่อน

    Damn, you're really good.
    It was awesome.

  • @justpatrick_
    @justpatrick_ 11 หลายเดือนก่อน

    Am a vue but my goodness this was great. It even clicked why this would be beneficial for react native

  • @minhđoàncông
    @minhđoàncông 5 หลายเดือนก่อน

    amazing work. Thank for helping of you.

  • @combatninjaturtle
    @combatninjaturtle ปีที่แล้ว +1

    Yessss! This is what I needed. Thanks man!

  • @4lissondev
    @4lissondev ปีที่แล้ว +1

    This video is amazing!!!! Thanks Ben.

  • @BrendonSled
    @BrendonSled ปีที่แล้ว +2

    This is amazing. Have you tried implementing server actions?

  • @jitxhere
    @jitxhere ปีที่แล้ว +1

    Wow. I am stunned

  • @JamesQQuick
    @JamesQQuick 7 หลายเดือนก่อน

    This was effing wild! damn lol

  • @0xtz_
    @0xtz_ ปีที่แล้ว

    bro all this in 20 min 😮 🔥

  • @romank1ng528
    @romank1ng528 11 หลายเดือนก่อน

    Amazing video! Very thorough, I also like to use hono, however I couldn't help but wonder what shell prompt you're using

    • @bholmesdev
      @bholmesdev  11 หลายเดือนก่อน +1

      Ah thanks! And I'm using oh-my-zsh with spaceship prompt github.com/spaceship-prompt/spaceship-prompt

  • @codante-io
    @codante-io ปีที่แล้ว +1

    Amazing video! Thanks

  • @noahginsburg6140
    @noahginsburg6140 11 หลายเดือนก่อน +1

    What a video! Question: I have an async data fetching RSC. When my application builds, a static page is rendered with the HTML rendering the data from the data fetch. Correct so far? Now when a user say navigates to my application site, I need that component to render with fresh data. How will that currently static page know to re-render with fresh data? I can't imagine everything needs to be marked "force dynamic", at least in nextjs. I may still be missing a concept around this. Thanks again for a great video.

    • @bholmesdev
      @bholmesdev  11 หลายเดือนก่อน

      Hey thanks Noah! Yes, page re-rendering is an interesting concept we didn't cover in the video. Next.js has special automations for caching static vs. dynamic data. My understanding is:
      - if a component is *only* used for static content, it's render to HTML at build time as you described.
      - if that component is then used to re-render content dynamically, that component now ships as a Javacript endpoint. Next.js smartly decides when this switch happens.
      Hope that helps!

    • @noahginsburg6140
      @noahginsburg6140 11 หลายเดือนก่อน

      That does help. I think this video offered great clarity into RSC implementation but the NextJs abstractions seem to muddy that up a bit. Anyways, thanks for responding. Look forward to more content.@@bholmesdev

  • @sonipratik6405
    @sonipratik6405 8 หลายเดือนก่อน

    Wow this is awesome ❤️

  • @DEV_XO
    @DEV_XO ปีที่แล้ว

    Amazing video Ben!

  • @gaastonsr
    @gaastonsr 4 หลายเดือนก่อน

    Hey! thanks for the video. Did you create those snippets or are you using an extension?

  • @HurmaanAhmed
    @HurmaanAhmed 4 หลายเดือนก่อน

    My man built Next in 20 mins.

  • @pauljeremiahmugaya3292
    @pauljeremiahmugaya3292 10 หลายเดือนก่อน

    This is amazing 👏

  • @Andrei_Calazans
    @Andrei_Calazans ปีที่แล้ว

    Incredible tutorial

  • @aleksamitic6655
    @aleksamitic6655 ปีที่แล้ว

    Amazing content mate! Keep it up!

  • @kengreeff
    @kengreeff ปีที่แล้ว +1

    Amazing!

  • @141habiburrehman4
    @141habiburrehman4 วันที่ผ่านมา

    It blows my mind man😂

  • @niranjansingh-il1pf
    @niranjansingh-il1pf 2 หลายเดือนก่อน

    Hey Ben, this is so easy and still detailed. But...
    If you are not returning HTML, how does crawlers figure out the SEO??

  • @code_lab_9994
    @code_lab_9994 4 หลายเดือนก่อน

    You make easy to understand thanks

  • @idmt93
    @idmt93 10 หลายเดือนก่อน

    Great content man! Subscribed

  • @SSn0wx
    @SSn0wx ปีที่แล้ว

    Damn this is a super nice video, keep up the content

  • @waldemarkunz9173
    @waldemarkunz9173 ปีที่แล้ว

    Great video! Thank you.

  • @echobucket
    @echobucket 8 หลายเดือนก่อน

    Where is the W3C RFC on this proprietary format React is using here?

  • @ThugLifeModafocah
    @ThugLifeModafocah ปีที่แล้ว

    impressive knowledge display.

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

    Nice explanation, nice video. Thanks!
    I'd better stick to PHP instead of this much dark magic 😬

  • @anasrin
    @anasrin ปีที่แล้ว

    cool way to use snippet

  • @wouter1625
    @wouter1625 ปีที่แล้ว +1

    this video is cracked

  • @kumnegerwondimu9848
    @kumnegerwondimu9848 10 หลายเดือนก่อน

    u are so underrated

  • @atharvapise
    @atharvapise ปีที่แล้ว

    ohh damn, hot clip by Ben after a long time. RSCs for the win

  • @iPankBMW
    @iPankBMW ปีที่แล้ว +2

    Nice video! Do you know how we can make the default 30second (client side cache)/(router cache) for server components in Nextjs to 0 seconds? Its kinda impossible to get the latest data in SRC on subnavigation (clicking on component). Maybe create a PR for Nextjs about this issue :)

    • @bholmesdev
      @bholmesdev  ปีที่แล้ว +6

      Yeah, I generally just... don't like NextJS' aggressive caching strategy. Hoping they make caching a manual opt-in instead of an invisible default

    • @iPankBMW
      @iPankBMW ปีที่แล้ว

      Whats your preferred JS Framework/Library?@@bholmesdev

  • @mattwayne9128
    @mattwayne9128 ปีที่แล้ว +1

    Let's gooooooo

  • @jens2635
    @jens2635 ปีที่แล้ว

    well done, really interesting.

  • @flexdash
    @flexdash ปีที่แล้ว

    Great tutorial! What browser are you using?

  • @code_lab_9994
    @code_lab_9994 4 หลายเดือนก่อน

    Can you please guide me how to convert existing large react app to server side?

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

    Fantastic

  • @muhammadyousufhere
    @muhammadyousufhere ปีที่แล้ว

    Wow Man! 😮

  • @najlepszyinformatyk1661
    @najlepszyinformatyk1661 ปีที่แล้ว +1

    Cool

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

    How its could works loading a millions of records on streaming and looking every single day this react technology becomes more complex instead of easy to dev. Every React project is a very complicated environment that is worked on by other developers.

  • @kikevanegazz325
    @kikevanegazz325 7 หลายเดือนก่อน

    Wow!

  • @guozhangliew7302
    @guozhangliew7302 ปีที่แล้ว +2

    so RSC is not doing SSR?

    • @bholmesdev
      @bholmesdev  ปีที่แล้ว +2

      Ah, good observation! SSR is a separate step that we *can* add so the user sees an initial view while the rest of the page streams down. I reached out to the React team about this and got a pretty minimal example if you're curious: github.com/mattcarrollcode/react-serving-patterns/tree/main/ssr-and-rsc

    • @guozhangliew7302
      @guozhangliew7302 ปีที่แล้ว +1

      @@bholmesdev awesome thanks for reaching out to the team! appreciate it!

  • @thegithaka
    @thegithaka 9 หลายเดือนก่อน

    kudos!

  • @amaechinaikechukwu8266
    @amaechinaikechukwu8266 ปีที่แล้ว

    ❤❤❤

  • @Alcani3ca
    @Alcani3ca 10 หลายเดือนก่อน

    I'm so lost. How do you center a div??

    • @bholmesdev
      @bholmesdev  10 หลายเดือนก่อน

      sir this is a wendy's

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

    Web dev 2024 is fked up. Can we please make this 100x more complicated and if we want to add auth 100x more complicated? That would be epic 🤓

  • @smithshaw1151
    @smithshaw1151 9 หลายเดือนก่อน

    Can one use rsc with htmx?

    • @bholmesdev
      @bholmesdev  9 หลายเดือนก่อน

      Admittedly no, they are very different approaches to rerendering server content. RSCs send a format from the server that isn't _quite_ HTML, so HTMX couldn't process it

  • @martingreler6236
    @martingreler6236 8 หลายเดือนก่อน

    Bro coded up nextjs in 20 minutes

  • @supriyomonndal6199
    @supriyomonndal6199 ปีที่แล้ว

    Amazing work ben!
    What's the extension doing the auto complete?

    • @bholmesdev
      @bholmesdev  ปีที่แล้ว

      I'm using VS Code snippets I wrote myself! Intended to make the video run smoother, but you can use them yourself by cloning github.com/bholmesdev/simple-rsc

  • @lutfiikbalmajid
    @lutfiikbalmajid ปีที่แล้ว

    I have try creating Htmx server component with Elysia :D

  • @toothless.tarantula
    @toothless.tarantula ปีที่แล้ว

    Wow

  • @ahmedAltariqi
    @ahmedAltariqi ปีที่แล้ว +2

    Dude, I can't code along without pausing, because you're using a lot of snippets lol
    Share them please!

    • @bholmesdev
      @bholmesdev  ปีที่แล้ว +2

      Understood! Kinda expect coders to pause. It's a delicate balance between tight explanations and typing every thing. If you clone github.com/bholmesdev/simple-rsc and open in VS Code, all the snippets are there. Just empty out `server.js` and get going.

    • @ahmedAltariqi
      @ahmedAltariqi ปีที่แล้ว +1

      @@bholmesdev Thank you, Ben!

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

    it's amazing how i get 420 errors while trying to do this by my own, i wonder if others have faced the same

  • @bobobo1673
    @bobobo1673 ปีที่แล้ว

    How old are you?

  • @fullstack_journey
    @fullstack_journey ปีที่แล้ว +1

    This is what the company I'm in did, 7 years ago.. and were still maintaining this proprietary piece of sh.. code to this day (it's horrible)

  • @jackpurdoneverydayzero
    @jackpurdoneverydayzero ปีที่แล้ว +1

    Spotifn't haha

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

    A lot of config things to set a simple list :'(

  • @mohamedtaher88
    @mohamedtaher88 8 หลายเดือนก่อน

    why cant you simply first explain the "WHY" ?

  • @ray-lee
    @ray-lee ปีที่แล้ว +1

    please fix nextjs

    • @bholmesdev
      @bholmesdev  ปีที่แล้ว +2

      We did! astro.build ;)

  • @antonanton22743
    @antonanton22743 22 วันที่ผ่านมา

    G

  • @madeinhvn
    @madeinhvn ปีที่แล้ว

    Woah what a new Ben video that's more than 2 minutes??

  • @planetmall2
    @planetmall2 ปีที่แล้ว

    Amazing!