od Podstaw
5 godz. 59 min · ReactJS · Full-stack i Programowanie
Michał JabłońskiReact przeszedł długą ścieżkę rozwoju i część z jego funkcjonalności nie są już powszechnie używane. Dlatego w tym kursie skupimy się na najnowszych technikach pracy z biblioteką - poznasz współczesne podejście do budowania komponentów z wykorzystaniem hooks (useState, useEffect), zrozumiesz zasady kompozycji i zarządzania stanem aplikacji. Pokażemy Ci też jak efektywnie korzystać z narzędzi deweloperskich, debugować kod i wdrażać aplikacje na produkcję z użyciem współczesnych platform jak Vercel.
Hooki to fundament nowoczesnego Reacta, który całkowicie zmienił sposób tworzenia komponentów. W kursie nauczysz się efektywnie zarządzać stanem aplikacji używając useState, wykorzystywać useEffect do operacji lifecycle i side-effects, oraz poznasz reguły korzystania z hooków. Wszystko to przećwiczysz w praktycznych zadaniach, takich jak implementacja filtrowania listy elementów, gdzie zastosujesz zdobytą wiedzę w realnym scenariuszu.
Obsługa formularzy to nieodłączny element każdej aplikacji webowej. Pokażemy Ci jak kontrolować wartości pól input, wykorzystać popularną bibliotekę Formik do zarządzania złożonymi formularzami oraz implementować walidację danych. Wiedza ta zostanie utrwalona poprzez praktyczne zadanie, w którym rozwiniesz formularz o dodatkowe pola i zastosujesz poznane techniki w rzeczywistym przypadku użycia.
Większość aplikacji wymaga komunikacji z serwerem. Nauczysz się jak poprawnie wykonywać operacje asynchroniczne w komponentach React, obsługiwać stany ładowania i błędów, oraz efektywnie korzystać z klienta HTTP do zapytań AJAX. Zaczniesz od pracy z przygotowanym mockiem API, by następnie przejść do prawdziwej integracji z back-endem. W praktycznym zadaniu zaimplementujesz pełny przepływ danych - od pobrania, przez wyświetlenie, aż po wysłanie na serwer.
Poza budową aplikacji React, w kursie znajdziesz także moduł poświęcony wdrażaniu aplikacji na produkcję. Poznasz prawidłową konfigurację serwera produkcyjnego dla architektury SPA, nauczysz się zarządzać zmiennymi środowiskowymi poprzez pliki .env oraz przeprowadzisz deployment na platformie Vercel. Dzięki temu Twoja aplikacja będzie nie tylko działać lokalnie, ale także będzie gotowa do użycia przez realnych użytkowników w internecie.
Nowoczesny React stworzyliśmy z myślą o osobach, które chcą nauczyć się Reacta i jednocześnie znają JavaScript. Niezależnie od tego, czy React jest Twoim pierwszym frameworkiem, czy masz już doświadczenie w pracy np. ze Svelte czy Vue, ten materiał jest dla Ciebie. Wskazane jest również posiadanie ogólnej wiedzy na temat tworzenia interfejsów z HTML i CSS oraz obsługi narzędzi takich jak Git czy podstawy pracy z terminalem.
Jeśli chodzi o przygotowanie do tego szkolenia i konfigurację środowiska pracy.
Zasadniczo potrzebujemy dwóch rzeczy NodeJS i ulubiony edytor kodu.
Pozostałe elementy to tylko pluginy i dodatki do tych właśnie chociażby
związanych z edytorami kodu.
Niemniej za chwilę pokażę Ci, jak sobie skonfigurować to w pełni.
Jak przygotować własne środowisko do pracy?
Zacznijmy od instalacji NodeJS.
NodeJS ma swoją dedykowaną stronę i to tam możemy ściągnąć sobie właśnie to
środowisko uruchomieniowe JavaScriptu.
Możesz skorzystać albo z tego buttona, który w zależności od tego, jaki jest Twój
system operacyjny da Ci instalkę tego programu.
Albo możesz skorzystać z sekcji Download, gdzie mamy tutaj coś takiego
jak prebuild installer.
I tutaj można wybrać wersję operacyjną swojego systemu i ściągnąć pakiet
instalacyjny dla użytkowników Linuxa.
Najlepiej chyba będzie skorzystać z Package Managera.
Może to być właśnie dzięki użyciu czegoś takiego jak FNM albo NVM, w zależności od
tego czy jesteśmy na Linuxie czy jesteśmy na macOS ie?
Mogą te wersje instalek się różnić.
Natomiast generalnie przy użyciu package managera będziemy mieli dodatkowe
możliwości przełączania sobie wersji NodeJS, a chociażby takie coś oferuje NVM.
Jeśli chodzi o community Supported Package Managers, być może łatwiej Ci będzie na
niektórych architektach Linuxa skorzystać właśnie z tych wersji, z tych tutaj
podpowiedzianych przez twórcę sposobów instalacji.
Chociażby.
Jeśli zobaczymy sobie Debiana czy Ubuntu, możemy podejrzeć sobie w jaki sposób
wykonać instalację właśnie na tym systemie operacyjnym.
Aby sprawdzić, czy NodeJS zainstalował się u nas poprawnie, wykorzystujemy w tym celu
wiersz, polecenia albo inny terminal dostępny właśnie w Twoim
systemie operacyjnym.
Jeśli uruchomisz narzędzie terminala, możemy sprawdzić poleceniem node v,
czy wszystko jest poprawnie i npm v.
Te dwa polecenia mówią nam o tym, że zainstalowany jest Node i
w jakiej konkretnie wersji?
Nie przejmuj się, jeśli u Ciebie ta wersja jest inna.
Chodzi nam o to, żeby ściągnąć najlepszą dostępną teraz, najbardziej świeżą
wersję LTS, czyli Long Time Support.
W takim wypadku u mnie jest to wersja 2015.1. Zainstalowaną w systemie mam 2015,
a jeśli chodzi o narzędzie npm to jest Node package manager.
Ten Node Package Manager będzie nam służył do tego, żebyśmy mogli sobie właśnie
skaldować aplikację z użyciem React.
Będzie to nam potrzebne również do doinstalowania różnych pakietów bibliotek.
Będziemy w ten sposób rozwijać swój projekt pisany w Reactcie.
To narzędzie powinno się zainstalować z automatu, jeśli tylko zainstalujesz Node.
To narzędzie powinno być dostępne właśnie z wiersza polecenia.
Tutaj tak samo ta wersja może się u Ciebie różnić.
Nie przejmuj się.
Ważne jest, żebyśmy pracowali na najnowszych elementach
dostępnych w wariancie LTS.
Jeśli chodzi o konfigurację naszego środowiska pracy, to będzie to albo
Visual Studio Code, albo Webstorm.
Takie moje dwa polecenia.
Możesz też użyć jakiegoś innego edytora kodu, takiego jak lubisz.
Ważne jest, żeby te edytory kodu miały narzędzia pomagające nam chociażby na
uruchomienie pliku HTML razem z jakimś serwerem na lokalnym developmencie.
Za chwilę powiem Ci o co konkretnie chodzi.
Zasadniczo zależy nam na tym, żeby uzupełnić tą instalację od
pewnego rodzaju wtyczki.
Ja zainstalowałem sobie obydwa te narzędzia zarówno Visual Studio Code,
który jest darmowy, jak i Webstorm, gdzie mamy 30 dniowy trial.
Natomiast tutaj w zakładce Pricing możesz się dowiedzieć więcej jak nawet pozyskać
to narzędzie za darmo będąc uczniem czy studentem.
Webstorm jest rozwiązaniem, z którego ja będę korzystał.
Konkretnie będzie to na IntelliJ u i to tutaj będę budował aplikację React.
Nie ma to jednak większego znaczenia, z jakiego edytora kodu korzystasz.
Ważne jest, że jeśli masz swój ulubiony, to wykorzystaj w tym celu
swój ulubiony edytor kodu.
Natomiast do Visual Studio Code.
Mam dla Ciebie pewne dodatkowe wtyczki, które mogą Cię zainteresować.
Tutaj specjalnie dedykowanym jest Code Extensions.
Są one wszystkie wymienione.
Wystarczy sobie tutaj w Extensions wpisać takie coś jak recommended.
I właśnie małpa Recommended pozwala Ci na zobaczenie rekomendacji tego workspace.
Czyli w materiałach do tego kursu odnajdziesz sobie właśnie ten
plik do Code extensions JSON.
I to tutaj będą wszystkie extensions, które polecam Ci zainstalować.
Będziemy korzystać z czegoś takiego jak sline w projekcie chociażby.
Potrzebujemy life serwera do tego, żeby wystawić sobie właśnie plik HTML w postaci
takiego lokalnego serwera razem z tzw. Hot Reload.
Polecam Ci używanie jakiegoś zestawu ikon po to, żeby chociażby rozróżnić
różnego rodzaju pliki, czyli np.
MD i widzimy od razu, że jest to plik z markupem.
Tutaj git ignore widzimy od razu, że jest to plik, który dotyczy właśnie
jakichś zagadnień giełdowych.
No i mamy to wszystko w zasięgu wzroku.
Bardzo nam to będzie pomagało, chociażby z plikami JSX, z których będziemy
korzystać tutaj w React ie.
Będziemy mogli bardzo szybko zobaczyć, który z tych plików jest komponentem,
a w którym pliku mieszka.
Po prostu kod JavaScriptowy bez JSX.
To Visual Studio Code i to sposób w jaki można sobie sprawdzić to Extensions.
Wszystkie je możesz zainstalować klikając tutaj w tą ikonkę.
Gdyby one nie były zainstalowane, to klikając właśnie tutaj w tą ikonę mógłbym
zainstalować wszystkie te extensions za jednym zamachem i jestem wtedy
przygotowany do kolejnych zadań tego kursu.
Jeśli chodzi o Webstorma, Webstorm jest skonfigurowany out of the box, jak to się
mówi, czyli ma wszystkie potrzebne elementy, które chcielibyśmy mieć.
Ja korzystam z IntelliJ, ponieważ jest to rozwiązanie, które pozwala mi nie tylko
współpracować z JavaScriptem, ale również innymi językami programowania, chociażby
na backendzie, więc aż IntelliJ nie jest potrzebny.
Wystarczy się do tego Web webstorm.
Natomiast tutaj, jeśli chodzi o samą konfigurację w settingsach, jedna z takich
wtyczek, którą mogę polecić, to jest oczywiście wtyczka związana z ikonami.
Czyli mamy coś takiego jak Atom Material Icons i to Atom Material Icons to jest
właśnie wtyczka, którą warto sobie zainstalować.
Można to sobie właśnie wpisać w plugins i wtedy odszukać tą konkretną
wtyczkę zainstalować.
Ja mam już ją zainstalowaną, ale to też pozwoli nam na szybkie takie wizualne
sprawdzenie, wizualne rozpoznanie, który plik czego dotyczy w naszym projekcie.
Dodatkowo oczywiście warto przygotować sobie jakiś katalog, w
którym będziemy pracować.
U mnie jest to katalog React Basics.
To co widzisz tutaj, to jest po prostu otwarty folder, w którym
są te wszystkie elementy.
I to React Basics ma jakieś swoje miejsce u mnie na dysku.
Czyli warto sobie przygotować jakiś katalog, w którym będziemy tworzyć sobie
nasz projekt, w którym będziemy uczyć się krok po kroku.
Jak zbudować sobie aplikację Reactową.