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ść, skoro już poradziliśmy sobie z naszym storybook'iem, udało nam się go skonfigurować,
udało nam się stworzyć nasze pierwsze story, a nawet dodać do niego
pewne właściwości, które powodują, że możemy wpływać na to jak testery wyglądają,
jak się zachowują. To teraz pora, żeby wyjaśnić po co nam to wszystko właściwie
będzie i tutaj chciałbym zrobić ci takie małe intro, mały
wstęp do atomic design i jest to taki rodzaj podejścia
do projektowania aplikacji, który polega na tym, że rozbijamy
komponenty na takie mniejsze elementy tworzymy pewien rodzaj abstrakcji,
który później pozwoli nam na konstruowanie tych wszystkich interfejsów
w taki sposób, że będzie to dla nas po prostu łatwiejsze, bardziej intuicyjne, a przede
wszystkim ten kod będzie dużo łatwiejszy do utrzymania i teraz w dużym
skrócie na czym polega atomic design, w naszej aplikacji nie będzie to aż tak skomplikowane,
ponieważ tych komponentów nie ma zbyt wiele, ale to jest taki dobry
moment, żeby to wszystko pokazać, żeby po prostu sobie zacząć z tym tematem pracować,
więc atomic design polega na tym, że wszystkie elementy na
naszej stronie rozbijamy na tak zwane atomy, molekuły organizmy
template'y i pages, czyli w naszym przypadku będzie to view,
views będą zawierać template'y, które z kolei zawierają organizmy, właśnie
molekuły ja tam w drugą stronę to tłumacząc, więc czym tak naprawdę jest
atom, o co tutaj chodzi i tutaj autor, czyli Brad Frost, możesz
przeczytać sobie cały ten artykuł na jego blogu, sugeruje że atomami
są najmniejsze najbardziej takie elementarne części naszego interfejsu,
więc tutaj na przykład może być to label od input'u, może być to sam input
albo sam button, więc takie naprawdę pojedyncze części, które
właśnie tworzą te atomy i to co w przyrodzie dzieje się
z atomammi i to samo dzieje się w Atomic Design'ie, to że te atomy się ze
sobą łączą tworząc molekuły i tak jest na przykład w tym przypadku gdzie
3 pojedyncze atomy tworzą nam molekułę w postaci takiego search
form'a i to już jest taki element interfejsu, który spokojnie
mógłby być takim indywidualnym elementem tego
interfejsu, samodzielnym gdzieś zawieszonym w przestrzeni naszej strony, więc
jest to już taka bardziej samodzielna część, natomiast molekuły
mogą się też łączyć dużo większe rzeczy, czyli w organizmy i takim
organizmem może być na przykład nawigacja, która zawiera molekuły
menu, atom logo i molekuły
naszego search form'a, więc jak widzisz organizmy mogą
składać się z wielu molekuł i wielu atomów później mam jeszcze template'y,
które składają się z wielu organizmów z wielu molekuł i tak
dalej, tworząc właśnie już takie kompletne interfejsy i
te template'y, które później są propagowane przez dane, wyświetlają
nam się w taki sposób, że te dane po prostu prezentują w ładny sposób, więc
Atomic Design to nic innego, jak taka metodyka pracy trochę jak
na nasz Bem, który ma ten Block element modifier,
czyli też takie rozgraniczenie na 3 takie elementy, tak tutaj
mamy właśnie atomy molekuły organizmy, template'y i views, więc
będziemy tego używać w naszym projekcie. Zaraz ci pokażę na design'ach
jak możemy się do tego zastosować. Ptrząc sobie na razie tutaj na tą
taką legendę powiedzmy, możemy zauważyć, że mamy tutaj kilka atomów, między
innymi logo, mamy ikony
mamy input'y, mamy button'y, które już mamy stworzone, mamy button
trochę inny z ikoną, mamy header'y w dwóch
rozmiarach, mamy paragrafy, mamy dodatkowe informacje w postaci
takich napisów wyszarzonych, więc to co mamy tutaj,
to są powiedz mi nasze atomy. To
natomiast będzie już organizm składający się z molekuł, ponieważ
na przykład to może być molekuła, te
dwa napisy, to może być molekułą, oczywiście
to wszystko nam wyjdzie w praniu i teraz nie ma co tego aż tak bardzo planować. Natomiast chce
ci pokazać jak w praktycznym przykładzie możemy sobie zastosować
te podejścia Atomic Design. To oczywiście będą atomy, natomiast
sidebar będzie już organizmem, który będzie po prostu takim
indywidualnym pojedynczym samodzielnym elementem naszego interfejsu
poza tym sidebar sam w sumie będzie składał się z atomu logo z molekuły
tych ikon tutaj menu i z atomu logout
czy też login tego, tego button'a na dole. Oczywiście
tych organizmów i template'ów i molekuł i atom'ów będzie jeszcze
trochę więcej w naszym interfejsie, ale to wszystko sobie
przepracujemy lekcja po lekcji tworząc nasz interfejs,
tworząc wszystkiego elementy, także to tyle na razie jeśli chodzi o taki krótki wstęp
do Atomic Design. Mam nadzieję, że ci się to podoba, a my widzimy się już w następnej
lekcji.