Repo: github.com/bho... Let's build a node server, stream an RSC to your browser, and handle client component bundling! #javascript #programming #reactjs #tutorial
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. 😅
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
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.
@@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.
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 !
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. ❤❤
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
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 :)
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.
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!
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
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 :)
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.
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
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
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.
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
One of the best RSC videos I've seen so far
You meant the best though right?
I think Ben just did a better job explaining RSC's in 20 minutes than the entire industry in the last 2 years 😅
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. 😅
Appreciate that so much! Glad it all clicked for you 🙌
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
So cool, I also had an idea that RSC looks a lot like PHP, and you confirmed it!
This is awesome. So concise, fun and without unnecessary info. Please do more! 👏
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 !
Great job Ben ... very interest to understand the magic behind these frameworks!!
Dang, I will just say ‘underrated video for devs’, great video Ben
This is awesome! Can't wait for every ecosystem ( go, laravel, rust etc ) to add react server components to their frameworks.
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.
Never though about using React server components outside JS
@@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.
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
Haha, glad I could be some nerd entertainment for you! Feel the same watching LowLevelLearning explain C 😅
Half of the video kinda hurt my brain. Great video Ben! Thank you!
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.
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 !
the fact that you did this in 19 mins is CRAZY
common whiteboard man win
Instant subscribe within the first minute. Love the energy!
Amazing! You do make RSC look simple, and definitely understandable 👏🏼
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. ❤❤
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
Appreciate that so much! Will do ❤️
Would love to see more like this on things like hydration and react query.
What are those guys doing with suspense, hydration and RSC?
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 :)
Great video, and also nice teaser for the 4h stream that I want to watch now 😄
Only a few minutes in and became an instant subscribe. So few videos are this clearly explained! Thank you.
my brain got grilled a couple of times during this, but it was worth it
This a great presentation style. Appreciate the energy.
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"
stfu it ain't that complex
Woow, Absolutely the best SSR tuto explanation !
Dan Abramov will write a Novel explaining this (also other Reat devs). You are the best!
i believe this video is inspired by dan's post from last June of the same name github /reactwg/server-components/discussions/5
Am a vue but my goodness this was great. It even clicked why this would be beneficial for react native
good one ben, and thanks for ur explanation in less than 20mins
Thanks! Short explainers are my specialty :)
This was effing wild! damn lol
You're incredible dude, this was excellent!
Thank you Mr. Horse! ❤
Bruh. This is the best react related video ever
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.
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!
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
This is amazing. Have you tried implementing server actions?
Amazing video! Very thorough, I also like to use hono, however I couldn't help but wonder what shell prompt you're using
Ah thanks! And I'm using oh-my-zsh with spaceship prompt github.com/spaceship-prompt/spaceship-prompt
amazing work. Thank for helping of you.
Hey Ben, this is so easy and still detailed. But...
If you are not returning HTML, how does crawlers figure out the SEO??
Damn, you're really good.
It was awesome.
My man built Next in 20 mins.
This video is amazing!!!! Thanks Ben.
Amazing!
Wow. I am stunned
Hey! thanks for the video. Did you create those snippets or are you using an extension?
Yessss! This is what I needed. Thanks man!
cool way to use snippet
impressive knowledge display.
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 :)
Yeah, I generally just... don't like NextJS' aggressive caching strategy. Hoping they make caching a manual opt-in instead of an invisible default
Whats your preferred JS Framework/Library?@@bholmesdev
You make easy to understand thanks
Nice explanation, nice video. Thanks!
I'd better stick to PHP instead of this much dark magic 😬
Amazing video! Thanks
bro all this in 20 min 😮 🔥
Amazing video Ben!
Where is the W3C RFC on this proprietary format React is using here?
Incredible tutorial
Great content man! Subscribed
this video is cracked
Great tutorial! What browser are you using?
arc.net !
Amazing content mate! Keep it up!
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.
Damn this is a super nice video, keep up the content
Wow this is awesome ❤️
Let's gooooooo
Fantastic
This is amazing 👏
Can you please guide me how to convert existing large react app to server side?
u are so underrated
Cool
kudos!
well done, really interesting.
Wow!
ohh damn, hot clip by Ben after a long time. RSCs for the win
Great video! Thank you.
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 🤓
❤❤❤
Bro coded up nextjs in 20 minutes
I have try creating Htmx server component with Elysia :D
Amazing work ben!
What's the extension doing the auto complete?
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
so RSC is not doing SSR?
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
@@bholmesdev awesome thanks for reaching out to the team! appreciate it!
Wow Man! 😮
Wow
I'm so lost. How do you center a div??
sir this is a wendy's
Dude, I can't code along without pausing, because you're using a lot of snippets lol
Share them please!
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.
@@bholmesdev Thank you, Ben!
Can one use rsc with htmx?
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
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)
it's amazing how i get 420 errors while trying to do this by my own, i wonder if others have faced the same
Spotifn't haha
How old are you?
A lot of config things to set a simple list :'(
why cant you simply first explain the "WHY" ?
please fix nextjs
We did! astro.build ;)
Woah what a new Ben video that's more than 2 minutes??
Amazing!