Skip to content

Learn how to organize Effect services, layers, and runtime to execute both client and server code in React 19

Notifications You must be signed in to change notification settings

typeonce-dev/effect-react-19-project-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Effect with React 19: Project Template

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

Project content

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.

Prerequisites

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.