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 chcę ci pokazać jak wygląda aplikacja, którą przygotowałem
i którą będziemy rozwijać w tym kursie. Tutaj widzisz taki widok
z lotu ptaka. Natomiast teraz odpalimy sobie prototyp i przeklikamy sobie tą
aplikację. To jest program Adobe Xd jeśli cię to ciekawi. Jest o tyle spoko,
że jest za darmo i naprawdę bardzo fajnie można sobie tutaj projektować
layout'y, więc teraz odpalamy prototyp i nasza
aplikacja podobnie jak w poprzednim z resztą kursie, nazywa się favnote
i służy do kolekcjonowania, do agregowania treści znalezionych
w sieci i można w niej zapisywać notatki, ciekawe konta twitter'owe,
a także artykuły, które gdzieś tam znaleźliśmy i chcielibyśmy sobie zapisać. To
jest taki pomysł trochę, który czerpie z takich aplikacji jak na przykład pocket io
innych tego typu, więc teraz sobie do niej przejdziemy i pamiętaj,
że jest to tylko mockup, to nie jest jeszcze prawdziwa aplikacja. To są tylko statyczne
pliki, pierwsze co widzisz to ekran logowania i tak,
nie mylisz się, będziemy mieć podłączone API, do którego będziemy mogli się zalogować,
tworzyć własne konta, a później zapisywać dla tego konta odpowiednie
notatki, które na przykład po zalogowaniu na innym komputerze będziemy mogli sobie z powrotem
odtworzyć, bo przecież tak działają bazy danych. Tego brakowało właśnie w pierwszym kursie, bo
tam nic takiego nie robiliśmy i to jest już taki duży jakby
progres, jeśli chodzi o właśnie rozbudowanie tej aplikacji, więc
mamy ekran logowania, mamy też ekran rejestracji, a po
zarejestrowaniu przechodzimy do właściwego interfejsu, który wygląda tak. Mam
nadzieję, że ci się podoba i pierwsze co tutaj widzisz, to sidebar, który
zawiera właśnie trzy rodzaje notatek. Zauważ, że kolor i też
wyświetlanie tych notatek zmienia się w zależności od typu notatki, który sobie
wybierzemy. Możemy też wejść w notatkę. Możemy
ją edytować, możemy ją usunąć jeśli chcemy. Możemy
ją po prostu zamknąć, możemy dodawać nowe notatki za pomocą tego plusa
po prawej stronie. Wtedy wysyła nam się takie menu z prawej strony. Możemy
się też wylogować, zalogować ponownie. Zobaczmy
jeszcze jak wyglądają notatki związane z twitterem, tutaj avatar twittera zaczytuje
się automatycznie, ponieważ kiedy dodajemy nowego twittera to podajemy account
name i będziemy korzystać ze specjalnego API, które pozwoli nam właśnie zaczytywać
automatycznie avatary. Tak
wygląda podgląd notatki z twitterem, możemy sobie otworzyć tego Twittera, możemy
wrócić i zerknijmy sobie jeszcze na artykuły. Artykuły
działają w taki sposób, że zamiast tego avatara twitter'owego mamy po
prostu link, który możemy sobie otworzyć, ale możemy też wejść do samej notatki, przejrzeć
o czym ona była i dopiero wtedy otworzyć ten artykuł. I
to na tyle jeśli chodzi o taki krótki pogląd na to jak będzie działać nasz
aplikacja. Mamy jeszcze tutaj wyszukiwarkę, która może nam wyszukiwać po treści
odpowiednie notatki. Teraz sobie zamkniemy ten prototyp. Mamy
też przygotowany taki podstawowy design system, który moglibyśmy dostać
od grafika na przykład, mamy wszystkie ikony, mamy logo mamy
stan icon, czyli aktywną ikonę. Mamy dwa rodzaje input'ów, komponent
karty, wszystkie kolory, które będziemy wykorzystywać w naszej aplikacji. Zauważ,
że wykorzystujemy tutaj notację HSL, którą gorąco ci polecam. Jest
to chyba najbardziej racjonalna notacja kolorów, którą możemy wykorzystywać
w CSS'ie. Mamy sidebar i mamy typografie, którą
sobie zaaplikujemy w naszej stronie. Ten
widok szczególnie nam się przyda kiedy będziemy tworzyć tak zwany design system. Jest
to co prawda wielkie słowa, jeśli chodzi o te aplikacje, ale taki system komponentów,
który będziemy później reużywać w naszej aplikacji, a zrobimy to za
pomocą tak zwanego storybook'a, ale o tym już się dowiesz w dalszej części kursu. Jeśli
ciekawi cię dlaczego drugi kurs robię również w oparciu o pomysł tworzenia
tych notatek w aplikacji to głównie przez to, że po
pierwsze chcę pokazać, że aplikacje React'owe mogą być naprawdę bardzo
proste, tak jak właśnie w tym pierwszym kursie. Ona była bardzo banalna. Natomiast
ten sam pomysł można przekształcić w coś dużo większego, dużo
bardziej zaawansowanego co wygląda naprawdę profesjonalnie i można
się gdzieś tam później w tym już pochwalić, a ponadto przygotowałem do tego kursu
taki właśnie specjalny interfejs z tego względu że chciałbym dzielić
się z tobą wiedzą nie tylko na temat jakich wzorców projektowych czy rozwiązań związanych
wyłącznie z React'em, ale też pokazać ci jak podchodzimy jako
deweloperzy do problemów, takich realnych problemów, które napotykamy
na co dzień w naszej pracy, także tych problemów związanych z layout'em z jakimiś
interakcjami, które mają się pojawić w naszych komponentach, to wcale nie
jest łatwe i można się na tym nieźle wyłożyć. Dlatego uważam, że ten kurs
nie byłby kompletny gdyby zabrakło tutaj właśnie takiej wiedzy mocno
praktycznej, która pozwoli ci po prostu łatwiej rozwiązywać tego typu
problemy w przyszłości i to na tyle w tej lekcji zapraszam cię do kolejnej,
gdzie powiem ci trochę szerzej czego dowiesz się dokładnie w tym kursie.