react-server-components
react-server-components copied to clipboard
Understand React Server Components and Server Actions by building a framework with them.
React Server Components and Actions
Understand React Server Components and Server Actions by building a framework with them.In this workshop we'll be building a framework built on React Server Components and Server Actions from scratch. No build tools. No TypeScript, no Vite, no JSX. Just the Browser, Node.js, and React. This is how you develop a deep understanding of something. Let's go!
Prerequisites
- Deep experience with React and features like Suspense
- Some experience with Node.js will be helpful
Pre-workshop Resources
Here are some resources you can read before taking the workshop to get you up to speed on some of the tools and concepts we'll be covering:
- Introducing Zero-Bundle-Size React Server Components
- React Server Components RFC
- "React from Another Dimension" by Dan Abramov at Remix Conf 2023
System Requirements
All of these must be available in your PATH. To verify things are set up
properly, you can run this:
git --version
node --version
npm --version
If you have trouble with any of these, learn more about the PATH environment variable and how to fix it here for windows or mac/linux.
Setup
This is a pretty large project (it's actually many apps in one) so it can take several minutes to get everything set up the first time. Please have a strong network connection before running the setup and grab a snack.
Warning: This repo is very large. Make sure you have a good internet connection before you start the setup process. The instructions below use
--depthto limit the amount you download, but if you have a slow connection, or you pay for bandwidth, you may want to find a place with a better connection.
Follow these steps to get this set up:
git clone --depth 1 https://github.com/epicweb-dev/react-server-components.git
cd react-server-components
npm run setup
If you experience errors here, please open an issue with as many details as you can offer.
The Workshop App
Learn all about the workshop app on the Epic Web Getting Started Guide.
Credits
This workshop is heavily influenced by @sebmarkbage's work in this commit. Also, shout-out to @gaearon and @rickhanlonii for their help on this as well.
