w Praktyce
6 godz. 51 min · ReactJS · Full-stack i Programowanie
Adam RomanskiFrontend developer & YouTube CreatorNarzędzia typu ESlint, Prettier, Husky czy lint-staged niezmiernie pomagają nam w pracy. Problem jednak polega na tym, że ich konfiguracja bywa kłopotliwa. W tym kursie dowiesz się, jak poprawnie skonfigurować te narzędzia, tak, aby nie wchodziły ze sobą w konflikty i pomagały nam pisać lepszy kod.
Brzmi jak zły pomysł? Wcale nie! CSS in JS to rewolucyjne podejście, które pozwala nam tworzyć style bezpośrednio w komponentach. Dzięki bibliotece Styled Components możesz wpływać na ich stan, wygląd i wiele innych rzeczy. To niezwykłe narzędzie, wprowadzające powiew świeżości dla ludzi zmęczonych czystym CSS.
Dokumentowanie wyglądu i zachowania naszych komponentów bywa kłopotliwe. Jeśli jednak użyjemy odpowiednich narzędzi, staje się banalne! Storybook w połączeniu z podejściem atomic design pozwoli nam na stworzenie świetnie udokumentowanych komponentów.
React w Praktyce nie byłby... praktyczny, gdyby nie pokazanie tego, w jaki sposób rozwiązuje się problemy z layoutem aplikacji. Sidebary, szablony, powtarzalne komponenty – to wszystko poznasz w tym kursie.
Tworzenie store, czyli warstwy z danymi w naszej aplikacji dla wielu bywa wyzwaniem dość trudnym. Wynika to często z tego, że przykłady Reduxa bywają niepraktyczne. W tym kursie dowiesz się, w jaki sposób działa Redux – zaczniemy od podstaw, a skończymy na rozbudowanej strukturze danych. Dzięki temu zobaczysz, że nie taki Redux straszny jak go malują.
Aplikacja frontendowa bez backendu może istnieć, choć jej możliwości będą zdecydowanie ograniczone. A już na pewno będzie ona miała kiepską pamięć. Dlatego w tym kursie stworzymy lokalną wersję backendu połączoną z MongoDB na mLab. W ten sposób będziemy mogli dłużej przechowywać dane zapisane w naszych komponentach.
O testach można mówić wiele. To niezwykle rozległy temat, dlatego zanim zaczniesz je pisać na poważnie, chcę Ci pokazać jak możesz poćwiczyć podstawowe rzeczy. Poznasz narzędzie JEST, które odpowiada za uruchamianie testów, oraz wprowadzę Cię do react-testing-library, jednej z najpopularniejszych bibliotek do testowania aplikacji reactowych.
Ten kurs przeznaczony jest dla osób, które lada dzień będą aplikować na stanowiska juniorskie jako React developer. Zawarłem w nim wiele aspektów pracy z React, które zdarzają się w prawdziwej pracy. Ponadto skorzystać mogą z niego osoby, które znają inny framework JS i chcą nauczyć się Reacta, jednak kursy od podstaw są dla nich zbyt proste.
16.8.x
Cześć. W tej lekcji zaczniemy sobie konfigurować naszą aplikację React'ową
i zrobimy to przy pomocy create-react-app, czyli takiego repozytorium,
które pozwala nam po prostu szybko stworzyć szkielet aplikacji, zresztą
w poprzednim kursie o podstawach React'a wykorzystywaliśmy dokładnie tę samą paczkę,
tylko tutaj podejdziemy do sprawy zupełnie w inny sposób, dużo bardziej zaawansowany.
Pokażę ci jak to robić od samych podstaw. Jeśli zastanawiasz się dlaczego w
ogóle korzystamy z gotowej paczki to nie bez powodu ten kurs nazywa się React
w praktyce, ponieważ w praktyce rzadko korzysta się z jakichś custom'owych
setup'ów tworzonych od podstaw, zazwyczaj właśnie korzysta się z create-react-app. Ewentualnie
jeśli ktoś potrzebuje jakiś dużych zmian to robi się tak zwanego fork'a, czyli
taką własną wersję gdzie zmienia się kod tego create-react-app albo
ewentualnie robi się tak zwanego eject'a, ale to już jest zupełnie zaawansowana
kwestia i bardzo rzadko do tego dochodzi. Zazwyczaj to, co oferuje create-react-app
naprawdę wystarcza i w tym kursie ci pokażę, że nam w
zupełności to wystarczy do odtwarzania całkiem imponującej aplikacji. Zanim
przejdziemy do strony creat-react-app, to dwa słowa jeszcze o moim setup'ie,
ja tutaj korzystam z Visual Studio Code w wersji insiders, czyli takiej, która posiada
wszystkie najnowsze feature'u, to jest taka trochę beta wersja. Niemniej uważam, że jest ona
bardzo stabilna. Jeszcze nigdy mnie nie zawiodła, więc polecam ci ją gorąco. Natomiast
jeśli chodzi o terminal to jest to terminal unix'owy, zsh nie
bash. Tutaj totalna dowolność czy to będzie bash czy zsh,
raczej nie będzie tutaj żadnych konfliktów i różnic wszystko powinno wyglądać zupełnie
tak samo. Natomiast jeśli pracujesz na Windowsie to postaraj się zainstalować
Windows Linux subsystem i właśnie stworzyć sobie terminal
unix'owy i jeśli tego nie zrobisz to prawdopodobnie
wszystko również będzie działać, nie mniej nie będzie to identyczne
jak to co robię w tym kursie. Niektóre komendy mogą się różnić, niektóre rzeczy
można trochę inaczej zainstalować i to będe w tym kursie pomijał, koncentrujemy
się na tym środowisku Unix'owym, ponieważ Windows 10 i tak oferuje to środowisko,
więc tutaj to jest tylko i wyłącznie kwestia wyboru kto jakie narzędzia
sobie wybierze i jeśli chodzi o na node'a to ja korzystam z wersji 10.15.1. Jest
to obecnie najnowsza wersja z tej wersji LTS, czyli która
wspiera rzeczy, które były w poprzednich wersjach a nie tak odcina
się od niej grubą kreską, więc tutaj żadnych konfliktów nie powinno
być w tym kursie jeśli chodzi o używaniu tej wersji. Jeśli chodzi o npm'a to
mamy tutaj wersję 670, to jest o tyle ważne, że od którejś tam piątki
weszło takie narzędzie npx, które tutaj za chwilkę użyjemy. Jeśli
nie wiesz co to npx to głównie chodzi o to, że ono pozwala na wykorzystywanie
paczek, których nie mamy zainstalowane globalnie na komputerze lub wykorzystywanie
paczek, które mamy w node modules, ale bez konieczności podawania takiej bardzo długiej
ścieżki typu node modules slash bin slash i tutaj
dopiero nazwa naszej paczki, więc jest to całkiem wygodne narzędzie. Jeśli cię ciekawi
w szczegółach jak to działa, to zapraszam cię do dokumentacji, jest naprawdę bardzo dobrze
opisane. A my już teraz przechodzimy do strony create-react-app i
mamy tutaj przed sobą repozytorium create-react-app,
jeśli cię interesuje co tak naprawdę kryje się tutaj w tej konfiguracji. Co
możemy znaleźć w kodzie, to masz tutaj pełen dostęp do tego. Natomiast my przyjdziemy
sobie do strony dokumentacji, ponieważ jest ona naprawdę doskonale przygotowana
i wszystkie albo prawie wszystkie rzeczy, które będą dotyczyć
konfiguracji naszej aplikacji znajdziemy właśnie tutaj w dokumentacji, więc
od tego sobie zaczniemy i pierwsze co musimy zrobić to oczywiście stworzyć naszą
apkę i wykorzystano właśnie do tego npx, wspomniany przed chwilą. Zrobimy
to teraz, wpisujemy npx
create-react-app i podajemy nazwę naszej
aplikacji. Ja z uwagi na to, że będę to numerował foldery
w zależności od tego w jakim rozdziale będziemy się znajdować, to ja sobie to nazwę 01
natomiast ty możesz nazwać to jak chcesz, możesz nazwać na przykład favnote, ponieważ
tak się będzie nazywać nasz aplikacja. Ja teraz sobie tworzę folder 01
i teraz po prostu musimy poczekać, aż nasz aplikacja
się zainstaluje, a właściwie nasza paczka do skonfigurowania naszej aplikacji. Okej,
wszystko poprawnie się zainstalowało i teraz jak przyjdziemy sobie do naszego folderu
z aplikacją, spojrzymy na struktura plików to zauważymy jedną rzecz są
oczywiście osoby, które korzystają z yarn'a i są osoby które korzystają
z npm'a. Nie ma to w zasadzie żadnego znaczenia, jest to tylko narzędzie
i każdy wybiera sobie to co chce. Natomiast czasami mam wrażenie, że osoby
początkujące nie wiedzą w jakim package menadżerze zainstalowane
są dane pliki w jakimś projekcie i najłatwiej poznać to po prostu po
pliku log, czyli po albo yarn log albo po package json log
w przypadku npm'a. Tutaj mamy yarn'a, więc możemy wykorzystywać
yarn'a. Natomiast jeśli ktoś chciałby skorzystać z npm'a to jedyne co
musisz zrobić to usunąć yarn'a, a właściwie plik yarn log
i wpisać npm install
i teraz zaczekać aż wszystko zainstaluje
się na nowo i utworzy się plik package json log i wtedy
możemy już korzystać z npm'a i z racji, że ja na początku tej lekcji opowiadają
o npm'ie, npx'ie i tak dalej to zostanę już przy tym npm'ie,
nie nie będę wam kazał instalować kolejnego narzędzia, czyli
yarn'a, zostaniemy sobie w obrębie tutaj jednego narzędzia.
Jeśli jednak wolisz yarn'a to też nie ma problemu, możesz korzystać z
czego chcesz. Okej, teraz jeśli wszystko poszło dobrze widzimy,
że został dodany plik pakiet json log. Jeśli wpiszemy teraz npm
start to
nasza aplikacja powinna się załadować i tak właśnie się stało. Wszystko
działa. Nasz aplikacja hula, więc konfigurację create-react-app
mamy za sobą, a w następnej lekcji opowiem ci jak skonfigurować lintera i
czym właściwie linter jest.