Wzorce rozwoju React
Opanuj rozwój React z asystą AI używając sprawdzonych wzorców i przepływów pracy dla Cursor i Claude Code. Te przepisy obejmują wszystko od tworzenia komponentów po zarządzanie stanem, testowanie i optymalizację wydajności.
Szybka konfiguracja projektów React
Dział zatytułowany „Szybka konfiguracja projektów React”Inicjalizacja projektu React z asystą AI
Dział zatytułowany „Inicjalizacja projektu React z asystą AI”- Otwórz Cursor i utwórz nowy projekt
- Otwórz tryb Agent (Cmd/Ctrl + I)
- Prompt: “Użyj Context7 aby pobrać najnowszą dokumentację Vite. Utwórz nowy projekt React TypeScript z Vite, Tailwind CSS i konfiguracją testową używając aktualnych najlepszych praktyk”
- Włącz tryb YOLO aby pozwolić Cursor uruchomić wszystkie polecenia konfiguracji automatycznie
- Przejrzyj wygenerowaną strukturę projektu i pliki konfiguracyjne
- Przejdź do katalogu projektów
- Uruchom
claude
aby uruchomić Claude Code - Włącz Figma MCP jeśli używasz projektów:
claude mcp add figma --transport sse http://127.0.0.1:3845/sse
- Użyj: “Użyj Context7 aby pobrać najnowszą dokumentację Vite i Vitest. Utwórz nowy projekt React TypeScript z Vite, Tailwind CSS, vitest do testowania i właściwą strukturę folderów podążając za aktualnymi najlepszymi praktykami”
- Claude wykona wszystkie niezbędne polecenia i utworzy strukturę projektu
- Uruchom
/init
aby utworzyć plik CLAUDE.md z wytycznymi specyficznymi dla React
Konfiguracja kontekstu AI dla React
Dział zatytułowany „Konfiguracja kontekstu AI dla React”Konfiguracja integracji Figma
Dział zatytułowany „Konfiguracja integracji Figma”{ "mcpServers": { "figma": { "type": "sse", "url": "http://127.0.0.1:3845/sse" } }}
Utwórz pliki kontekstu aby pomóc AI zrozumieć twoje wzorce React:
# Zasady rozwoju React
## Standardy komponentów- Używaj komponentów funkcyjnych z TypeScript- Preferuj named exports dla komponentów- Utrzymuj komponenty poniżej 150 linii- Wyodrębniaj niestandardowe hooki dla ponownego użycia logiki
## Zarządzanie stanem- Używaj React Query/TanStack Query dla stanu serwera- Zustand dla globalnego stanu po stronie klienta- Stan lokalny z useState dla danych specyficznych dla komponentu
## Wymagania testowe- Pisz testy dla wszystkich komponentów używając vitest i @testing-library/react- Minimum 80% pokrycia dla logiki biznesowej- Testuj interakcje użytkownika, nie szczegóły implementacji
Wzorce rozwoju komponentów
Dział zatytułowany „Wzorce rozwoju komponentów”Tworzenie nowych komponentów
Dział zatytułowany „Tworzenie nowych komponentów”Scenariusz: Konwertuj projekt Figma na komponent React
Używając serwera Figma MCP:
# Włącz Figma MCP w swojej aplikacji desktop Figma# Preferencje > Enable Dev Mode MCP Server
# Dodaj Figma MCP do Claude Codeclaude mcp add figma --transport sse http://127.0.0.1:3845/sse
# Lub dodaj do Cursor# Ustawienia > MCP > Dodaj serwer > URL: http://127.0.0.1:3845/sse
Przepływ pracy Cursor z Figma MCP:
- Wybierz komponent w Figma (z uruchomionym serwerem MCP)
- W Cursor: “Używając serwera Figma MCP, wygeneruj komponent React z mojego obecnego wyboru Figma. Użyj TypeScript i Tailwind CSS”
- AI użyje
get_code
aby pobrać dokładną strukturę projektu - Przejrzyj wygenerowany komponent z właściwymi tokenami projektu
Alternatywny przepływ pracy ręczny:
- Zrób zrzut ekranu projektu Figma
- Przeciągnij obraz do czatu Cursor
- Prompt: “Utwórz komponent React na podstawie tego projektu. Użyj TypeScript, Tailwind CSS do stylowania i zrób go responsywnym”
- Przejrzyj wygenerowany komponent
- Zapytaj: “Dodaj właściwe typy TypeScript i zrób komponent wielokrotnego użytku z props”
Przepływ pracy Claude Code:
- Zapisz zrzut ekranu projektu w swoim projekcie
- Odwołaj się do niego: “Spójrz na design.png i utwórz komponent React, który pasuje do tego projektu. Użyj TypeScript, Tailwind CSS i upewnij się, że jest w pełni responsywny”
- Claude przeanalizuje obraz i wygeneruje komponent
- Kontynuuj: “Dodaj historie Storybook dla tego komponentu z różnymi stanami”
Scenariusz: Zbuduj komponent tabeli danych z sortowaniem i filtrowaniem
Przykładowy prompt:
Utwórz komponent DataTable wielokrotnego użytku z tymi funkcjami:- TypeScript z właściwymi generics dla typu danych wiersza- Sortowanie kolumn (kliknij nagłówek aby sortować)- Filtrowanie tekstu dla każdej kolumny- Paginacja z konfigurowalnym rozmiarem strony- Stany ładowania i pustej tabeli- Użyj Tailwind CSS do stylowania- Zrób go dostępnym z właściwymi etykietami ARIA
Przepływ pracy ulepszania:
- Wygeneruj podstawowy komponent
- Wyodrębnij tokeny projektu: “Używając Figma MCP, pobierz wszystkie zmienne projektu (kolory, odstępy, typografia) używane w tym komponencie”
- Dodawaj funkcje stopniowo: “Dodaj selekcję wierszy z kolumną checkbox”
- Optymalizuj: “Dodaj wirtualizację dla dużych zestawów danych używając @tanstack/react-virtual”
- Testuj: “Napisz kompleksowe testy dla logiki sortowania i filtrowania”
Refaktoryzacja komponentów klasowych do hooków
Dział zatytułowany „Refaktoryzacja komponentów klasowych do hooków”Podejście trybu Agent Cursor:
Mam komponent klasowy w UserProfile.tsx, który musi być konwertowany na komponent funkcyjny z hookami.Proszę:1. Konwertuj wszystkie metody lifecycle na useEffect2. Konwertuj stan na useState3. Wyodrębnij złożoną logikę do niestandardowych hooków4. Zachowaj całą istniejącą funkcjonalność5. Aktualizuj testy aby działały z nową implementacją
Przepisy zarządzania stanem
Dział zatytułowany „Przepisy zarządzania stanem”Konfiguracja store Zustand
Dział zatytułowany „Konfiguracja store Zustand”# Najpierw pobierz najnowsze wzorce ZustandUżyj Context7 aby pobrać dokumentację Zustand i najlepsze praktyki
# Następnie utwórz store podążając za aktualnymi wzorcamiUtwórz store Zustand do zarządzania uwierzytelnianiem użytkownika z:- Danymi profilu użytkownika- Akcjami login/logout- Persist do localStorage- Typy TypeScript dla całego stanu i akcji- Selektory dla często dostępnych danych- Integracja DevTools
Integracja React Query
Dział zatytułowany „Integracja React Query”Przepis Claude Code:
# Najpierw pobierz najnowszą dokumentację React QueryUżyj Context7 aby pobrać dokumentację TanStack Query dla v5
# Następnie implementuj na podstawie aktualnych najlepszych praktykSkonfiguruj React Query w naszej aplikacji z:1. Skonfiguruj QueryClient z sensownymi domyślnymi ustawieniami2. Utwórz niestandardowe hooki dla naszych endpointów API3. Dodaj optymistyczne aktualizacje dla mutacji4. Implementuj właściwą obsługę błędów5. Skonfiguruj wzorce unieważniania zapytań
Integracja systemu projektowego
Dział zatytułowany „Integracja systemu projektowego”Używanie Figma Code Connect
Dział zatytułowany „Używanie Figma Code Connect”# PRD: Integruj system projektowy Figma z codebase React# Plan: Użyj Figma Code Connect do mapowania komponentów
"Używając Figma MCP z włączonym Code Connect:1. Pobierz mapowania code connect dla komponentów systemu projektowego2. Wygeneruj komponenty React, które używają naszej istniejącej biblioteki komponentów3. Wyodrębnij i zastosuj tokeny projektowe konsekwentnie"
# Przykładowy przepływ pracy"Wybierz komponent Button w Figma i wygeneruj kod React, który:- Używa naszego istniejącego komponentu Button z '@/components/ui'- Stosuje właściwy wariant na podstawie właściwości Figma- Używa naszego systemu tokenów projektowych dla kolorów i odstępów"
Wyodrębnianie tokenów projektowych
Dział zatytułowany „Wyodrębnianie tokenów projektowych”// Użyj Figma MCP aby wyodrębnić tokeny projektowe"Używając Figma MCP get_variable_defs:1. Wylistuj wszystkie tokeny kolorów używane w wybranym projekcie2. Wylistuj tokeny odstępów i typografii3. Wygeneruj plik konfiguracji motywu"
// Przykładowe wyjścieexport const theme = { colors: { primary: { blue: '#1D4ED8', // Z Figma: Primary/Blue dark: '#1E40AF' // Z Figma: Primary/Dark }, neutral: { gray90: '#1A1A1A' // Z Figma: Neutral/Gray90 } }, spacing: { sm: '8px', // Z Figma: Spacing/S md: '16px', // Z Figma: Spacing/M lg: '24px' // Z Figma: Spacing/L }};
Zaawansowane wzorce
Dział zatytułowany „Zaawansowane wzorce”Optymalizacja wydajności
Dział zatytułowany „Optymalizacja wydajności”-
Identyfikuj problemy wydajnościowe
- Cursor: “Analizuj MyComponent.tsx pod kątem potencjalnych problemów wydajnościowych i zasugeruj optymalizacje”
- Claude Code: “Przejrzyj cały katalog components i zidentyfikuj komponenty, które mogłyby skorzystać z React.memo, useMemo lub useCallback”
-
Implementuj optymalizacje
Optymalizuj komponent ProductList:- Dodaj React.memo z właściwą funkcją porównania- Użyj useMemo dla kosztownych kalkulacji- Implementuj wirtualizację dla listy- Dodaj lazy loading dla obrazów -
Weryfikuj ulepszenia
- Generuj testy wydajności
- Dodaj markery React DevTools Profiler
- Utwórz benchmarki dla krytycznych ścieżek
- Użyj Context7 aby pobrać najnowsze wzorce optymalizacji React
Biblioteka niestandardowych hooków
Dział zatytułowany „Biblioteka niestandardowych hooków”Budowanie kolekcji niestandardowych hooków:
- Utwórz nowy plik:
src/hooks/index.ts
- Prompt Agent: “Utwórz kolekcję przydatnych niestandardowych hooków dla naszej aplikacji React zawierającą useDebounce, useLocalStorage, useFetch, useIntersectionObserver i useMediaQuery. Zawieraj typy TypeScript i komentarze JSDoc”
- Dla każdego hooka zapytaj: “Dodaj kompleksowe testy dla hooka useDebounce”
- Użyj trybu planowania:
/think Utwórz dobrze zorganizowaną bibliotekę niestandardowych hooków
- Wykonaj: “Utwórz niestandardowe hooki w oddzielnych plikach pod src/hooks/ z właściwymi eksportami, typami TypeScript, testami i dokumentacją”
- Wygeneruj przykłady użycia: “Utwórz stronę showcase hooków demonstrującą każdy niestandardowy hook”
Wzorce testowania
Dział zatytułowany „Wzorce testowania”Strategia testowania komponentów
Dział zatytułowany „Strategia testowania komponentów”// Prompt Cursor/Claude Code:Napisz kompleksowe testy dla komponentu UserDashboard:1. Testuj stany ładowania2. Testuj stany błędów3. Testuj pomyślne renderowanie danych4. Testuj interakcje użytkownika (kliknięcia, przesyłanie formularzy)5. Testuj wymagania dostępności6. Mockuj wywołania API właściwie7. Używaj najlepszych praktyk @testing-library/react
Testowanie integracji
Dział zatytułowany „Testowanie integracji”Testowanie interakcji między komponentami:
Utwórz testy integracji dla przepływu checkout:- Testuj cały przepływ od koszyka do płatności- Mockuj odpowiedzi API dla różnych scenariuszy- Testuj odzyskiwanie po błędach- Weryfikuj właściwe aktualizacje stanu między komponentami- Testuj stany ładowania między krokami
Wzorce React Native
Dział zatytułowany „Wzorce React Native”Rozwój komponentów wieloplatformowych
Dział zatytułowany „Rozwój komponentów wieloplatformowych”Biblioteka współdzielonych komponentów:
# PRD: Potrzebuję komponentu przycisku wieloplatformowego# Plan: Użyj Context7 aby zbadać wzorce React Native Web# Todo:1. Użyj Context7 aby pobrać dokumentację React Native dla komponentów wieloplatformowych2. Utwórz komponent Button, który działa zarówno w React web, jak i React Native: - [ ] Użyj współdzielonego pliku typów - [ ] Utwórz implementacje specyficzne dla platform - [ ] Eksportuj z wspólnego pliku index - [ ] Zawieraj właściwe stylowanie dla każdej platformy - [ ] Dodaj historie Storybook dla web - [ ] Dodaj przykłady dla React Native
Typowe pułapki i rozwiązania
Dział zatytułowany „Typowe pułapki i rozwiązania”Unikanie nadmiernego renderowania
Dział zatytułowany „Unikanie nadmiernego renderowania”Wzorzec diagnozy i naprawy:
- Identyfikuj: “Znajdź komponenty w naszej aplikacji, które mogą się niepotrzebnie re-renderować”
- Analizuj: “Dodaj console.logs lub integrację React DevTools Profiler aby śledzić renderowania”
- Napraw: “Implementuj właściwą memoizację i podnoszenie stanu gdzie potrzeba”
- Weryfikuj: “Utwórz testy aby upewnić się, że liczba renderowań pozostaje optymalna”
Zarządzanie efektami ubocznymi
Dział zatytułowany „Zarządzanie efektami ubocznymi”Najlepsze praktyki useEffect:
Przejrzyj wszystkie hooki useEffect w katalogu components/ i:1. Upewnij się o właściwe tablice zależności2. Dodaj funkcje czyszczenia gdzie potrzeba3. Zidentyfikuj efekty, które powinny być zamiast tego obsługiwane przez zdarzenia4. Podziel złożone efekty na mniejsze, skoncentrowane5. Dodaj komentarze wyjaśniające dlaczego każdy efekt jest niezbędny
Optymalizacja wdrożenia i buildu
Dział zatytułowany „Optymalizacja wdrożenia i buildu”Konfiguracja buildu produkcyjnego
Dział zatytułowany „Konfiguracja buildu produkcyjnego”Lista kontrolna optymalizacji:
Przygotuj naszą aplikację React do produkcji:1. Skonfiguruj code splitting z React.lazy2. Skonfiguruj właściwe tree shaking3. Optymalizuj rozmiar pakietu z dynamicznymi importami4. Skonfiguruj właściwe nagłówki cache'owania5. Skonfiguruj granice błędów6. Dodaj monitorowanie wydajności7. Utwórz skrypt analizy pakietu
Następne kroki
Dział zatytułowany „Następne kroki”- Eksploruj wzorce Vue.js dla alternatywnych podejść frameworka
- Sprawdź wzorce Next.js dla aplikacji React full-stack
- Naucz się o wzorcach testowania dla kompleksowego zapewnienia jakości