React 17. Wzorce projektowe i najlepsze praktyki. Projektowanie i rozwijanie nowoczesnych aplikacji internetowych. Wydanie III - Helion
Tytuł oryginału: React 17 Design Patterns and Best Practices: Design, build, and deploy production-ready web applications using industry-standard practices, 3rd Edition
TÅ‚umaczenie: Piotr Pilch
ISBN: 978-83-283-8746-1
stron: 328, Format: ebook
Księgarnia: Helion
Cena książki: 79,00 zł
Książka będzie dostępna od kwietnia 2022
JavaScript pozwala na tworzenie znakomitego kodu, ale wymaga od programisty sporych umiej
Zobacz także:
- React Native. Kurs video. Zostań programistą aplikacji mobilnych 169,00 zł, (50,70 zł -70%)
- React.js i Node.js. Kurs video. Budowanie serwisu w oparciu o popularne biblioteki języka JavaScript 129,00 zł, (38,70 zł -70%)
- Testowanie aplikacji w React.js. Kurs video. Praca z biblioteką Jest.js 69,00 zł, (20,70 zł -70%)
- JavaScript. Kurs video. Programowanie funkcyjne i reaktywne 99,00 zł, (29,70 zł -70%)
- D3.js w akcji 67,42 zł, (20,90 zł -69%)
Spis treści
React 17. Wzorce projektowe i najlepsze praktyki. Projektowanie i rozwijanie nowoczesnych aplikacji internetowych. Wydanie III eBook -- spis treści
O autorze
O korektorach merytorycznych
Przedmowa
Część I. Witaj, React!
Rozdział 1. Pierwsze kroki z biblioteką React
- Wymagania techniczne
- Różnica miÄ™dzy programowaniem imperatywnym i deklaratywnym
- Sposób dziaÅ‚ania elementów biblioteki React
- Zapomnieć o wszystkim
- Problem znużenia kodem w JavaScripcie
- Wprowadzenie do języka TypeScript
- Elementy języka TypeScript
- Przekształcanie kodu w JavaScripcie w kod w TypeScripcie
- Typy
- Interfejsy
- Podsumowanie
Rozdział 2. Czyszczenie kodu
- Wymagania techniczne
- Zastosowanie składni JSX
- Babel 7
- Tworzenie pierwszego elementu
- Elementy modelu DOM i komponenty biblioteki React
- Własności
- Elementy potomne
- Różnice wzglÄ™dem jÄ™zyka HTML
- Atrybuty rozwinięcia
- LiteraÅ‚y szablonów
- Typowe wzorce
- Określanie stylu kodu
- EditorConfig
- Prettier
- ESLint
- Programowanie funkcyjne
- Funkcje pierwszoklasowe
- Czystość
- Niezmienność
- Rozwijanie funkcji
- Kompozycja
- Programowanie funkcyjne i interfejsy użytkownika
- Podsumowanie
Część II. Działanie biblioteki React
Rozdział 3. React Hooks
- Wymagania techniczne
- Wprowadzanie do dodatku React Hooks
- Bez przełomowych zmian
- Zastosowanie funkcji Hook useState
- Reguły funkcji Hook
- Migracja komponentu klasowego pod kątem użycia dodatku React Hooks
- Efekty biblioteki React
- Funkcja Hook useEffect
- Warunkowe aktywowanie efektu
- Funkcje useCallback, useMemo i memo
- Zapamiętywanie komponentu za pomocą funkcji memo
- Zapamiętywanie wartości za pomocą funkcji useMemo
- Zapamiętywanie definicji funkcji za pomocą funkcji useCallback
- Zapamiętywanie funkcji przekazanej jako argument funkcji useEffect
- Funkcja Hook useReducer
- Podsumowanie
RozdziaÅ‚ 4. PrzeglÄ…d popularnych wzorców kompozycji
- Wymagania techniczne
- Zapewnienie komunikacji między komponentami
- Zastosowanie własności children
- Wzorce kontenerowe i prezentacyjne
- Komponenty wyższego rzędu
- Komponent FunctionAsChild
- Podsumowanie
RozdziaÅ‚ 5. Omówienie jÄ™zyka GraphQL na przykÅ‚adzie rzeczywistego projektu
- Wymagania techniczne
- Instalowanie systemu baz danych PostgreSQL
- Najlepsze narzędzia do zarządzania bazą danych PostgreSQL
- Tworzenie pliku .env i plików konfiguracyjnych
- Konfigurowanie pliku .env
- Tworzenie podstawowego pliku konfiguracyjnego
- Konfigurowanie serwera Apollo Server
- Definiowanie typów, zapytaÅ„ i przeksztaÅ‚ceÅ„ jÄ™zyka GraphQL
- Zapytania
- Przekształcenia
- Scalanie definicji typów
- Tworzenie resolverów
- Tworzenie zapytania getUsers
- Tworzenie zapytania getUserData
- Tworzenie przekształceń
- Scalanie resolverów
- Tworzenie modeli narzędzia Sequelize
- Nawiązywanie połączenia przez narzędzie Sequelize z bazą danych PostgreSQL
- Funkcje uwierzytelniania
- Czym jest standard JSON Web Token?
- Funkcje JWT
- Tworzenie funkcji uwierzytelniania
- Typy i interfejsy
- Uruchamianie projektu po raz pierwszy
- Testowanie zapytań i przekształceń języka GraphQL
- Sprawdzanie poprawności
- Wykonywanie operacji logowania
- Tworzenie interfejsowego systemu logowania z wykorzystaniem klienta Apollo
- Konfigurowanie narzędzia Webpack 5
- Konfigurowanie interpretera języka TypeScript
- Konfigurowanie serwera Express
- Tworzenie konfiguracji interfejsu
- Tworzenie elementu pośredniczącego użytkownika
- Tworzenie funkcji tokenów JWT
- Tworzenie zapytań i przekształceń języka GraphQL
- Tworzenie kontekstu użytkownika do obsługi operacji logowania i połączonego użytkownika
- Konfigurowanie klienta Apollo Client
- Tworzenie ścieżek aplikacji
- Tworzenie stron
- Tworzenie komponentów procesu logowania
- Tworzenie komponentów panelu sterowania
- Testowanie systemu logowania
- Podsumowanie
Rozdział 6. Zarządzanie danymi
- Wymagania techniczne
- Wprowadzenie do składnika React Context API
- Tworzenie pierwszego kontekstu
- Opakowywanie komponentów za pomocÄ… dostawcy
- Korzystanie z kontekstu za pomocÄ… funkcji useContext
- Wprowadzenie do stosowania składnika React Suspense z wykorzystaniem biblioteki SWR
- Wprowadzenie do biblioteki SWR
- Budowanie aplikacji Pokedex!
- Testowanie składnika React Suspense
- Podsumowanie
Rozdział 7. Tworzenie kodu dla przeglądarki
- Wymagania techniczne
- Zastosowanie formularzy
- Komponenty niekontrolowane
- Komponenty kontrolowane
- Obsługa zdarzeń
- Referencje
- Implementowanie animacji
- React Motion
- Format SVG
- Podsumowanie
Część III. Wydajność, ulepszenia i środowisko produkcyjne
RozdziaÅ‚ 8. Zapewnianie Å‚adnego wyglÄ…du komponentów
- Wymagania techniczne
- Style CSS w kodzie w JavaScripcie
- Zastosowanie stylów lokalnych
- Biblioteka Radium
- Zastosowanie moduÅ‚ów stylów CSS
- Webpack 5
- Przygotowywanie projektu
- Style CSS o zasięgu lokalnym
- Moduły Atomic CSS
- Moduły CSS biblioteki React
- Zastosowanie biblioteki styled-components
- Podsumowanie
Rozdział 9. Renderowanie serwerowe dla zabawy i zarobku
- Wymagania techniczne
- Uniwersalne aplikacje
- Powody implementowania opcji SSR
- Implementowanie optymalizacji pod kÄ…tem wyszukiwarki internetowej
- Wspólna baza kodu
- Lepsza wydajność
- Nie lekceważ złożoności
- Tworzenie prostego przykładu użycia opcji SSR
- Implementowanie pobierania danych
- Zastosowanie środowiska Next.js do tworzenia aplikacji opartych na bibliotece React
- Podsumowanie
Rozdział 10. Zwiększanie wydajności aplikacji
- Wymagania techniczne
- Uzgadnianie
- Klucze
- Techniki optymalizacji
- Narzędzia i biblioteki
- Niezmienność
- Dodatki narzędzia Babel
- Podsumowanie
Rozdział 11. Testowanie i debugowanie
- Wymagania techniczne
- Korzyści wynikające z testowania
- Bezproblemowe testowanie kodu w JavaScripcie za pomocą środowiska Jest
- Testowanie zdarzeń
- Zastosowanie rozszerzenia React DevTools
- Stosowanie rozszerzenia Redux DevTools
- Podsumowanie
Rozdział 12. React Router
- Wymagania techniczne
- Instalowanie i konfigurowanie biblioteki React Router
- Tworzenie sekcji
- Dodawanie parametrów do Å›cieżek
- Podsumowanie
Rozdział 13. Antywzorce, jakich należy unikać
- Wymagania techniczne
- Inicjalizowanie stanu za pomocą właściwości
- Stosowanie indeksów jako klucza
- Rozmieszczanie właściwości w elementach modelu DOM
- Podsumowanie
Rozdział 14. Wdrażanie aplikacji w środowisku produkcyjnym
- Wymagania techniczne
- Tworzenie pierwszego Dropletu usługi DigitalOcean
- Rejestrowanie w usłudze DigitalOcean
- Tworzenie pierwszego Dropletu
- Instalowanie środowiska Node.js
- Konfigurowanie serwisów Git i GitHub
- Wyłączanie Dropletu
- Konfigurowanie serwera nginx, narzędzia PM2 i domeny
- Instalowanie i konfigurowanie serwera nginx
- Konfigurowanie serwera odwrotnego proxy
- Dodawanie domeny do Dropletu
- Implementowanie narzędzia CircleCI do zapewnienia ciągłej integracji
- Dodawanie klucza SSH do narzędzia CircleCI
- Konfigurowanie narzędzia CircleCI
- Tworzenie zmiennych środowiskowych w narzędziu CircleCI
- Podsumowanie
Rozdział 15. Kolejne kroki
- Wymagania techniczne
- Uczestniczenie w rozwoju biblioteki React
- Dystrybucja kodu
- Znajomość najlepszych praktyk związanych z publikowaniem kodu open source
- Publikowanie pakietu za pomocą narzędzia npm
- Podsumowanie