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 zajmiemy się naprawianiem błędów, które nam
się wyświetliły w poprzedniej lekcji. Natomiast zanim to zrobimy chciałbym tutaj zrobić jedną
rzecz. Ja wiem, że to powinno działać tak, że user się zapamiętuje
w naszej przeglądarce. Natomiast na potrzeby tego kursu nie będziemy tutaj
stosować żadnego zapisywania do local storage albo wykorzystywania redux-persist
do właśnie zapamiętywania naszego store'u, po odświeżeniu. Możesz
to zrobić na własną rękę, to wcale nie jest takie trudne. Natomiast tutaj skupiamy się na zupełnie innych
problemach, więc teraz jutro user id po prostu możemy sobie zapisać
na razie tak, żeby nasza aplikacja to pamiętała i za każdym razem te rzeczy z
backendu nam zwracała. Poza tym i tak będziemy pracować na jednym użytkowniku, chcę ci pokazać
Jak łączyć backend z naszym frontend'em, a niekoniecznie wykorzystaj do tego wszystkie
możliwe narzędzia, ponieważ ten kurs trwałby kilkadziesiąt dni. Jak widzisz
po zapisaniu user is nasze twitter'y wyświetlają się prawidłowo. Teraz
wróćmy sobie do tych błędów, które nam się tutaj wyświetliły i spróbujmy je naprawić, to nie
powinno być aż tak trudne. Polecimy
sobie od samej góry, twitters id
jest oznaczone jako obowiązkowe, a go nie ma. Wynika
to właśnie z faktu, że tutaj mamy id z podkreślnikiem, ale
to co udostępnia nam ES6 i ta destrukturyzacja to to, że możemy podmieniać
sobie nazwy, które dostaliśmy z backend'u, więc jeśli dostajemy id z podkreślnik'iem, to możemy
powiedzieć słuchaj, to jest fajny props, ale chcemy żeby nazywał się tak i w tym momencie, ten
błąd powinien zniknąć. A
jednak nie zniknął, więc teraz
sobie wylogjmy to co dostaje, a jednak
nie zniknął, więc teraz odpalimy sobie nasze devtools'y React'owe i zobaczymy
co ten komponent dostaje tutaj w props'ach. Okej,
wynika to z tego, że id co prawda zamieniamy jako
nazwę, ale ta pierwotna nazwa obowiązuje w prop types'ach, więc tutaj
musimy dodać to co jest z podkreślnik'iem. Nie ważne i nieistotne
jest to jak później zmieniamy tę nazwę, tylko zamiast number,
tutaj musimy dać string, ponieważ backend'zie to się zapisuje jako string, okej.
Teraz created sobie pominiemy, uznajmy,
że to jest takie Nice to have, ale jednak postman DB, czyli w tej wersji
naszej aplikacji niekoniecznie musimy z tego korzystać. W żaden
sposób nie podniosłoby to wartości dydaktycznej tego jak łączy
się właśnie backend z frontend'em. Jest to po prostu dodatkowa praca, jest to dodatkowy ficzer, który
byłby potrzebny do zaimplementowania w tej aplikacji. Okej,
teraz zostały nam te dwa długaśne błędy i zaraz zobaczymy, co się tutaj stało. Przede
wszystkim w naszej
karcie, przede wszystkim w naszej
karcie musimy teraz sobie sprawdzić, ponieważ te prop types'y się zmieniły, id
jest okej tylko, że jest string'iem a created wywalamy
i nie będziemy z niego korzystać, created mamy jeszcze tutaj gdzieś
w tym miejscu, o dokładnie i teraz nasza
konsola jest już wolna od błędów i skoro
z tym się uporaliśmy, to chciałbym Ci w tej lekcji wytłumaczyć kolejny koncept, który jest bardzo istotny
z poziomu widzenia redux'a i teraz skoro z
tym się uporaliśmy to chciałbym ci wyjaśnić kolejny koncept istotny z poziomu widzenia
React'a, ponieważ jeśli ładujemy sobie coś w naszej akcji, to
mamy tutaj jeszcze taką dodatkową akcje jak success failure i
request i teraz
na success oczywiście wyświetlamy wyniki. To już mamy obsłużone, natomiast
co się dzieje w momencie kiedy request leci do reducer'a, failure'm
się nie zajmujemy, failure jest po to, żeby w razie gdyby był jakiś
błąd nasza aplikacja