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 przygotujemy sobie globalne
zmienne, z których będziemy mogli później korzystać we wszystkich naszych komponentach
będzie nam to bardzo przydatne, ponieważ mamy na przykład style zdefiniowane w
naszych designach, które fajnie, żeby było prostu były gdzieś zapisane, żebyśmy nie musieli
ciągle przeklejać tych kodów hsl do naszych styled-components,
więc teraz wywalimy sobie ten obiekt, który stworzyliśmy tutaj
wcześniej na razie to też wywalimy i nie
bez powodu wcześniej w tym kursie pojawił się folder theme tutaj w tym miejscu, ponieważ
to on właśnie będzie przechowywał tak zwany main theme js
i to w nim stworzymy sobie teraz obiekt, który
następnie będziemy eksportować i pierwsze co musimy zrobić
to przepisać wszystkie kolory, które mamy w naszych design'ach, teraz
podzielimy sobie tak ekran i tutaj mamy wszystkie
nasze kolory. Nazewnictwem już się zająłem
tutaj w tych, w tym miejscu i tak właśnie będą się nazywać, więc teraz lecimy
po kolei, primary. Pamiętaj, że te
kody hsl muszą być w formacie stringów, okej
kolory przepisane. Tutaj widzę, że mamy jeszcze jeden problem z naszym
ESlintem, wywalimy sobie te zasadę, żeby preferował
Export Default, ponieważ w przypadku tego
typu rzeczy moim zdaniem lepiej je stosować właśnie
named exporty. Dodatkowo zerknijmy sobie
jeszcze na nasze style globalne i zobaczmy, że importujemy tutaj 300 i 600 jeśli
chodzi o grubości font'ów, więc teraz możemy zrobić coś takiego, że zamiast
zapamiętywać liczby wpiszemy sobie prostu light i bold, mimo
że jest to semibold, ale w naszym projekcie nic to nie zmienia. Dla
nas tak naprawdę jest bold, ponieważ jest po prostu grubszy od tego. Okej
i z tak przygotowanym theme'em możemy go teraz zaimportować w naszym
komponencie root'owym, właściwie w widoku root'owym. Pamiętaj,
że jest to named export, więc musimy użyć klamer i teraz
ten main theme możemy tutaj zapisać naszym theme providerze, Adobe XD
możemy sobie już zamknąć i teraz jak przyjdziemy sobie do naszego
button'a to możemy tutaj w końcu zrobić to, co chcieliśmy zrobić na samym początku,
czyli zdestrukturyzować theme i podać
tutaj theme primary, dodatkowo
to możemy wywalić, bo to był tylko test i
nasz button działa, jeśli podamy mu tutaj secondary,
to będzie niebieski i tertiary zielony,
więc nasze globalne zmienne działają. Możemy
z nich korzystać. Oczywiście tę logikę związaną z tym, że one
będą się zmieniać w trakcie zmiany theme'u kiedy będziemy przechodzić na różne rodzaje notatek
to wdrożymy sobie później, tym się na razie nie martwimy. Możliwe też,
że gdzieś tam po drodze jeszcze będziemy dodawać do naszego theme'u jakieś nowe
rzeczy, więc na to też będziemy gotowi. Tego typu obiekty,
które gdzieś tam podajemy w naszej aplikacji często ulegają zmianom i jakimś ulepszaniem
w przyszłości także w tej chwili to wszystko i do zobaczenia
w następnej lekcji.