Skip to content

cwallervand/rsc-workshop

Repository files navigation

React Server Components workshop - Gjøremålsappen Tudlu

Workshop beskrivelse

Med React 19 innføres en av de mer spennende nyhetene i React på lang tid: React Server Components (RSCs).

"Hva er React Server Components?" spør du kanskje. Veldig kort fortalt kan RSCs sees på som server-side rendering (SSR) på steroider.

Litt mindre kort fortalt kan RSCs selv hente data og rendres i sin helhet på serveren (eller i et byggsteg). Den produserte HTMLen fra komponenten blir så sendt til klienten hvor den flettes automagisk inn i komponent-treet 🤯

"Hva er så fordelene med dette? Hvordan skiller det seg fra måten vi skrev komponenter på tidligere? Hvorfor skal jeg bry meg?". Du stiller mange spørsmål.

I løpet av denne workshopen så kommer du til å bli litt klokere på alt dette. Vi vil bidra med litt faglig input, men vi synes at man lærer best med en "hands on" tilnærming så du skal få lov til å bruke mesteparten av tiden din på å utvikle gjøremålsappen Tudlu.

Denne workshopen passer best for deg som har erfaring med React.

Oppsett

Du kan initialisere applikasjonen manuelt eller, hvis du har Docker, så kan applikasjonen initialiseres med dev container.

Manuelt

  1. git checkout main - Vær i main branch når prosjektet settes opp
  2. npm ci - Installerer nødvendige pakker
  3. npm run db:generate - Setter opp databasen og populerer den med data. Ved spørsmål om navn på migreringen kan du bare trykke enter
  4. git checkout task-1 - task-1 er startpunktet for workshopen
  5. npm run dev - Dette gjøres i hver branch for å starte applikasjonen
  6. Åpne applikasjonen

Med dev container (Docker)

PS! Når du bruker dev containers er det enklest å kjøre kommandoer fra VSCode sin terminal fremfor terminal, iTerm, Hyper osv.

  1. Installer og kjør Docker
  2. Installer Dev Containers extension
  3. Åpne prosjektet i Dev Container (kommer en liten popup i VSCode) - Dette vil installere nødvendige pakker samt sette opp databasen og populerer den med data. Ved spørsmål om navn på migreringen kan du bare trykke enter
  4. git checkout task-1 - task-1 er startpunktet for workshopen
  5. npm run dev - Dette gjøres i hver branch for å starte applikasjonen
  6. Åpne applikasjonen

Oppgaver

Det er lagt opp til at du starter med blanke ark i en ny branch for hver oppgave. I hver branch så kommer du til å ha det du trenger av funksjonalitet og komponenter for å løse oppgaven. Hvis du heller vil bruke dine egne komponenter og kode gjennom hele workshopen så må du gjerne gjøre det.

Hvis du i løpet av workshopen står fast eller bare er nysgjerrig på hvordan vi har løst en spesifikk oppgave så ligger vår implementasjon av Tudlu i main branchen.

Detaljer om hver oppgave finner du i en egen README-fil i hver enkelt branch. Dette er oppgavene vi har lagt opp:

  • Oppgave 1: Gjør om TodosWidget til å være en server komponent

    git checkout task-1

  • Oppgave 2: Opprette et nytt gjøremål

    git checkout task-2

  • Oppgave 3: Bedre UX med Suspense

    git checkout task-3

  • Oppgave 4: Endre status på et gjøremål + optimistisk UI

    git checkout task-4

  • Oppgave 5: Endre tittel på et gjøremål + optimistisk UI

    git checkout task-5

Tech stack

Ressurser

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors