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 przechodzimy do takiej typowo brudnej roboty i
zaczynamy pracę z backend'em, więc pierwsze co musimy zainstalować w
naszym projekcie to axios. To jest biblioteka, która
pozwala nam na bardzo łatwe i bardzo przyjemne łączenie się właśnie
poprzez protokoły http z naszym backend'em i teraz pierwsze
co robimy to oczywiście instalujemy axios w naszym
projekcie, okej i skoro nasz axios
został zainstalowany to teraz stwórzmy sobie widok login. Żeby
to zrobić oczywiście w folderze views musimy sobie stworzyć login
js, pobierzemy też sobie komponenty
z formik'a, okej, stworzyliśmy sobie taki podstawowy widok
logowania. Teraz możemy go wykorzystać w naszym root dodając
po prostu kolejno ścieżkę. Tutaj
może lepiej jak faktycznie nazwiemy to login page i jeszcze
w naszym pliku routes, musimy sobie zaktualizować, a nie
tutaj mam login. Okej, czyli jeśli jesteśmy na login, to to
się nam wyświetli. Tylko tutaj musimy jeszcze zrobić jakąś
funkcję. Na razie zróbmy sobie konsol log'a i tutaj
ten JSX musi być jako jedno dziecko, więc wrzucimy to sobie
we fragment i teraz jak wejdziemy sobie do
tego widoku, to faktycznie, mamy nasz form. Tutaj
zamiast fragmentu, opleciemy to sobie w form i teraz jeśli tutaj
coś wpiszę, a tutaj musi być email. Może bez
sensu, że ten email tutaj dałem. Dajmy tekst, bo ten login wcale nie musi być mail'em w
naszej aplikacji. Teraz jak wpiszę sobie roman raz
dwa trzy raz dwa trzy, to dostajemy hello, więc wszystko się zgadza
i teraz zanim zaczniemy jakiekolwiek akcje pisać w axios'ie
ale w redux'ie, to chcę ci pokazać jak axios działa tak po prostu, bez
żadnych redux'ów, ponieważ to dość mocno skomplikuje nam sprawę, więc
zaimportuje teraz tutaj sobie Axsios'a i po
wykonaniu submit chciałbym, żeby on właśnie zwrócił nam
tutaj akcję,
która uderzy do naszego API. W tym przypadku chcę żeby to był
login user, ponieważ mamy już takiego użytkownika jak my user
password raz dwa trzy, więc chcę, żeby uderzył do takiego
endpoint'a. Kopiuje sobie link do tego i tworzę axios post. Podaję
tutaj nasz. Podaję tutaj nasz endpoint
i teraz jak sobie zerkniemy do axios'a to on
jako drugi argument przyjmuje obiekt z danymi, więc
my też to zrobimy tutaj onsubmit przyjmuje values,
które możemy wrzucić właśnie w to miejsce, values, właściwie
możemy sobie zdestrukturyzować i teraz tak operacja w axios'ie zwraca
nam promise, więc jeśli chcemy pójść dalej po tym jak już zostaniemy
zalogowani, to musimy wpisać then. Natomiast, jeśli
chcemy sprawdzić co się stanie, jeśli nie zostaniemy zalogowani, bo na przykład dostaliśmy
jakiś błąd, to tutaj również możemy sobie to złapać, właśnie catch'em. Jeśli
nie znasz konstrukcji promise'ów to, to jest bardzo ważne i podstawowa
rzecz, więc jeśli jeszcze do tego nie dotarłeś to warto się zatrzymać teraz
w tym kursie i przestudiować sobie jak działają promise'y w JavaScript'ie, ponieważ
nie jest to składnia React'a, jest to składnia JavaScript'u i trzeba to znać. Tutaj
dodam jeszcze http, bo zapomniałem. Teraz to jest prawidłowy
URL i jeśli udało nam się wszystko połączyć tak jak trzeba, to po
wpisaniu my user i password raz dwa trzy, dostaniemy
komunikat login successful i tak się właśnie stało,
backend nam odpowiedział, że wszystko jest git, teraz jeśli bym
wpisał login my user, ale password raz dwa
trzy cztery, to dostanę błąd. Dostałem
403 forbidden, czyli login jest nieprawidłowy i w
ten sposób właśnie działa axios, w ten sposób będziemy budować nasze zapytania.