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 poprzedniej lekcji udało nam się z sukcesem zdispatch'ować
dwie akcje, które dodają nam notatki do naszego store'u, tylko
problem jest taki, że te akcje piszemy z łapy, piszemy
je po prostu na sztywno, każdej dodajemy jakąś nową nazwę, jakiegoś nowego
consta, później to podajemy tutaj. Teoretycznie moglibyśmy robić jeszcze
tak, że w ogóle nie tworzyli nazw tylko robimy coś takiego i to
oczywiście również by działało. Natomiast
naszym celem jest stworzenie nie akcji, ale
Action Creator'a, czyli takiej funkcji, która tworzy akcje
w sposób automatyczny i może to brzmieć bardzo
skomplikowanie natomiast jest naprawdę banalne. Teraz sobie taką
akcję stworzymy. Konwencja nazewnicza dla Action
Creator'ów jest taka, żeby naprawdę po prostu były samo wytłumaczalne,
to znaczy jeśli dodać notatkę, no to nasz Action Creator z tym związany będzie
się nazywał add note. To co add note przyjmuje jako parametr to oczywiście
notatka, a to co zwraca to
obiekt, który już znasz z typem, który jest
zawsze taki sam i z payload'em,
który w naszym przypadku jest notatką i w
ten sposób stworzyliśmy nasz pierwszy Action Creator. Teraz jak zdispatch'ować
Action Creator'y. Oczywiście to również jest bardzo proste, wystarczy podać do
dispatch'a add note i zawartość notatki, którą
chcemy przekazać. W tym przypadku niech to będzie Hello Roman i teraz
to zapiszmy i tutaj wkradł nam się mały błąd. Ten
obiekt muszę niestety zamknąć w taki sposób i teraz
jak widzisz obiekt do naszego stare'a został dodany. Jeśli
teraz sobie to skopiuję i wpiszę
tutaj coś innego to zauważysz, że ta akcja również
spowodowała dodanie nowej notatki i w ten sposób dzięki
Action Creator'om jesteśmy w stanie właśnie tworzyć nowe akcje
bez konieczności tworzenia ich ręcznie, czyli
bez konieczności dodawanie typu do każdej z nich i tak dalej. W ten
sposób też będziemy tworzyć właśnie akcje w naszej aplikacji dzięki
tym Action Creator'om. Zobaczysz też, że Action Creator'y są zdolne do
dużo większych rzeczy niż tylko do tworzenia takich prostych obiektów. Zachęcam
cię teraz do stworzenia takiego store'a samodzielnie nawet właśnie na Code Penie,
importując wyłącznie tego redux'a w taki sposób i pobawimy
się trochę tym, jak to wszystko działa. Możesz stworzyć store'a dotyczącego notatek
albo czegoś innego. Może być też na przykład zwykły licznik, bo jeśli tutaj
stworzysz na przykład zmienną counter, która będzie wynosić
0 to możesz stworzyć akcje, które będą zwiększać
albo zmniejszać ten counter. To też jest taki dość popularny przykład. Generalnie warto
zrozumieć jak redux działa od takich zupełnych podstaw, bo później kiedy
w naszym projekcie zaczniemy dodawać już taką większą strukturę plików
gdzie reducer'y będą osobne od Action Creator'ów i tak dalej, to
może się dość mocno skomplikować i może być ciężkie do zrozumienia, ale jeśli
się dobrze zrozumie to od samych podstaw, że równie dobrze mogło by to wszystko
być w jednym pliku to nagle ten redux staje się trochę mniej straszny. Zostawiam
cię z tym na chwilę i widzimy się już w naszym projekcie, gdzie zaczniemy
tworzyć strukturę pod naszego redux'a.