Program
Wprowadzenie
- Charakterystyka i zasada działania biblioteki
- Konfiguracja środowiska i narzędzi deweloperskich
- JavaScript / TypeScript w kontekście React
- Zasada działania Virtual DOM
Podstawy React
- Wprowadzenie do składni JSX
- Tworzenie, konfigurowanie i renderowanie komponentów
- Zarządzanie stanem i jego współdzielenie
- Obsługa zdarzeń
- Cykl życia komponentów
- Debugowanie błędów i rozwiązywanie problemów
React Hooks
- Omówienie mechanizmu działania hooków
- Dobre praktyki Hooks i typowe pułapki
- Niemutowalne zarządzanie stanem z useState i useReducer
- Przykłady prawidłowego użycia useEffect w StrictMode
- Praca z mutowalnym stanem z useRef - dobre praktyki
- Optymalizacja wydajności dzięki hookom useMemo, useCallback, itp.
React w praktyce
- Budowanie złożonych widoków
- Stylowanie - przegląd rozwiązań, implementacja motywów
- Praca z formularzami
- Routing
- Dobre praktyki
- Komunikacja z backend
- Strategie zarządzania stanem
Zaawansowany React
- Routing, Meta-Frameworki i NextJS
- Form Hooks - stan i walidacja formularzy
- Server Components, Server Actions i useOptimistic
- Memoizacja i optymalizacja
- Suspense i lazy
Praca z wybranym mechanizmem zarządzania stanem aplikacji
- React Context: Tworzenie dostawcy kontekstu i jego konsumpcja
- React Context:Optymalizacja i dobre pratyki
Redux Toolkit Store (opcja)
- Omówienie założeń architektury
- Modelowanie niemutowalnego stanu, Reduktory
- Actions oraz action creators
- Integracja z React, Re-selektory
- Kiedy Redux a kiedy Context?
- Praca z Redux Dev Tools
MobX Observable (opcja)
- Omówienie zasady działania MobX State Tree
- Praktyczne zastosowania
- Praca z DevTools
- Przegląd alternatyw: Jotai vs Zustand vs Recoil
Testowanie (opcja)
- Konfiguracja jest/vitest z Testing Library
- Przykłady użucia selektorów RTL
- Mockowanie zależności z jest
- Kiedy i co testować - omówienie