This repository contains all the code for the project Effect with React 19: Project Template
.
The app is implemented using typescript. You can get started by forking/cloning the repository and installing the dependencies:
pnpm install
React 19 brings the server closer to the client with feature like server components and server action. Organizing server code is different from the usual pattern of client-only projects.
Effect allows to organize a maintainable and testable codebase for both client and server. It also makes it easier to distinguish between client and server code, as well as handling the boundary between the two.
In this project template, we will explore how to use Effect with React 19 and TypeScript.
The project uses a framework called Waku. Waku is a minimal framework that already includes most of the features from React 19, included server components and server actions.
Waku is therefore ideal to showcase how to use Effect with React 19 with a minimal configuration, while still leveraging the full power of Effect.
In this project I won't explain the details of services and layers in Effect. I suggest you to follow Effect: Beginners Complete Getting Started to understand the basics of Effect.
The course will introduce the main new features in React 19, without going too deep into the technical details. Most of these features are already documented in the official React documentation.