Skip to content

Understand React Server Components and Server Actions by building a framework with them.

License

Notifications You must be signed in to change notification settings

epicweb-dev/react-server-components

Repository files navigation

Understand React Server Components and Server Functions by building a framework with them.

In this workshop we'll be building a framework built on React Server Components and Server Functions 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!



Build Status GPL 3.0 License Code of Conduct

Prerequisites

  • Deep experience with React and features like Suspense and useDeferredValue
  • 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:

System Requirements

  • git v2.18 or greater
  • NodeJS v20 or greater
  • npm v8 or greater

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 --depth to 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.

Starting the app

Once you have the setup finished, you can start the app with:

npm start

The Workshop App

Learn all about the workshop app on the Epic Web Getting Started Guide.

Kent with the workshop app in the background

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.