Śledzenie kursów kryptowalut czyli AJAX w React – PPwRJS #10

Zbliżamy się do zakończenia pracy nad trackerem kryptowalut. Jedyne, czego brakuje do zrealizowania założeń, to wprowadzenie aktualnych danych o kursach z zewnętrznego serwera. Do realizacji tego celu posłuży nam AJAX oraz API CoinMarketCap. React jest biblioteką skoncentrowana na View, stąd na próżno szukać wbudowanego rozwiązania do obsługi asynchronicznego JSa. Otwiera to przed nami szereg możliwości, co ma tyle samo wad (co wybrać?!), co zalet (to co Ci odpowiada! ;)). Zacznę od omówienia dwóch najpopularniejszych sposobów na AJAX w React czyli natywnego fetch i biblioteki axios. Następnie przejdziemy do dopieszczania trackera kryptowalut świeżymi danymi wprost z serwerownii.

(więcej…)

Zatłoczone skrzyżowanie w Tokio

Cykl życia komponentu – PPwRJS #9

W czym każdy z nas, programistów, przypomina komponent React? Człowiek przechodzi przez dzieciństwo, dojrzałość i starość. Tak się składa, że bardzo podobny cykl życia charakteryzuje komponenty. Możemy w ich przypadku wydzielić okresy Mounting (dzieciństwo), Updating (dojrzałość) i Unmounting (starość). Taki systematyczny podział, wspólny dla każdego przedstawiciela swojego rodzaju, pozwala podzielić obowiązki, którym każda jednostka będzie musiała sprostać w poszczególnych okresach swojego żywota. Zdecydowanie łatwiej poradzić sobie w skomplikowanym świecie z informacją, że nauka chodzenia (w przypadku ludzi) czy inicjalizacja stanu (w przypadku komponentów) powinna być jedną z pierwszych spraw, którym poświęcimy uwagę. W internecie roi się od rad odnośnie do tego, jak radzić sobie z cyklem życia homo sapiens. Ja ograniczę się do złotych rad zapewniających właściwy rozwój Twoich komponentów.

(więcej…)

Odwrócona dziewczyna w żółtej bluzie, z różowym plecakiem, siedząca na murku

Stylowanie w React – PPwRJS #8

React wywrócił świat front-endu do góry nogami. Pierw za sprawą JSX doszło do zatarcia granic pomiędzy warstwą struktury (HTML), a warstwą zachowania (JS). Nie trzeba było długo czekać, aby ten trend rozprzestrzenił się na warstwę prezentacji. Zamieszanie na linii React-CSS trwa w najlepsze od trzech lat. Najpopularniejsze sposoby na stylowanie aplikacji w ekosystemie Reacta opisałem na przykładzie trackera kryptowalut.

(więcej…)

Dłoń wyjmująca plik płyt winylowych z pudełka.

Wyszukiwarka kryptowalut (część 2): Obsługa zdarzeń

Przyszedł czas na zbudowanie najciekawszego komponentu w całym trackerze kryptowalut. Jest nim SearchBar. Całe działanie tego komponentu opiera się o obsługę zdarzeń. Z wpisu dowiesz się, jakie są różnice pomiędzy zdarzeniami w React i DOM API. Dużo uwagi poświęciłem wiązaniu this, które może sprawić Ci niemiłą niespodziankę przy przekazywaniu referencji do funkcji w props. Najlepsze zostawiłem na koniec, w ostatniej części wpisu implementujemy algorytm wyszukiwarki.

(więcej…)

Przecinające się mosty widziane z lotu ptaka

Wyszukiwarka kryptowalut (część 1): Wyświetlanie warunkowe

Marny użytek z trackera kryptowalut bez możliwości przeszukiwania jego zawartości. Czas zrobić z tym porządek i tchnąć w aplikację odrobinę życia. Zbudujemy komponent wyszukiwarki. To świetna okazja, żeby rzucić okiem na wyświetlanie warunkowe oraz obsługę zdarzeń. Są to tematy znane każdemu programiście JS, przekonamy się jak prezentują się w świecie Reacta.

(więcej…)

Dłoń trzymająca pióro nad kartką z listą zadań

Dynamiczna lista kryptowalut – Pierwszy projekt w ReactJS #5

Naszedł czas na zabranie się za rdzeń trackera kryptowalut. Jest nim nic innego jak wyświetlanie kursów setek kryptowalut. Do tej pory samodzielnie wyświetlaliśmy każdą instancję komponentu Coin. Takie rozwiązanie ma kilka oczywistych wad. Narusza zasadę DRY, jest podatne na błędy przy referowaniu do kolejnego wycinka state, i przede wszystkim, kompletnie się nie skaluje. Musi być lepsze rozwiązanie. Jest nim połączenie możliwości programowania funkcyjnego oraz JSX. (więcej…)

Mężczyzna w koszuli, trzymający dwa pędzle w, ubrudzonych farbami, dłoniach

Komponenty klasowe i state – Pierwszy projekt w ReactJS #4

W poprzednim wpisie poznaliśmy cechujące się prostotą komponenty funkcyjne. Niestety, nie poradzimy sobie z budową trackera kryptowalut, mając do dyspozycji samą warstwę prezentacyjną. Nadszedł czas na analizę komponentów klasowych, które będą służyły jako centra logiki biznesowej naszej aplikacji. Tym razem dowiemy się, czym jest stan komponentu i jak skutecznie nim zarządzać. (więcej…)
Grafiti z napisem "Together We Create!"

Elementy React i JSX – Pierwszy projekt w ReactJS #2

Komponenty, JSX i wirtualny DOM. Trzy flagowe pojęcia, zasłyszane przez każdą osobę zainteresowaną ReactJS. Zanim przejdę do ich omawiania, zatrzymam się na przystanku, pomijanym w większości materiałów dla początkujących. Przybliżę Ci, czym są i jak działają odpowiedniki węzłów DOM w świecie Reacta. Mało się o nich wspomina, podczas gdy ich powstawanie jest głównym efektem korzystania z tej biblioteki. Następnie przedstawię Ci, jak ścisły związek z tym wszystkim ma składnia JSX. Nabyta wiedza pozwoli Ci na stworzenie pierwszego komponentu ze zrozumieniem tego, co dzieje się u samych fundamentów Reacta. (więcej…)

create-react-app – Pierwszy projekt w ReactJS #1

Przygotowywanie środowiska, przed przejściem do właściwej pracy, urosło przez ostatnia kilka lat do statusu takiego wyzwania, że otrzymało niechlubne miano „JavaScript Fatigue”. Niestety, wśród wszystkich frameworków, to właśnie React odpowiadał za największa liczbę konfiguracyjnej gorączki. Chęć wykorzystywania tej technologii wiązała się z koniecznością poznania kilku mniej lub bardziej skomplikowanych narzędzi. Kilka godzin pracy, zanim mogliśmy przejść do tworzenia czegokolwiek. Masakra. Był to zasadniczy powód, przez który początkujący decydowali się na wybór Vue lub Angulara. (więcej…)