Posty

Wyświetlam posty z etykietą react

Moje próby zrozumienia Reacta (1)

Jak działają haki(hooks) w React? Ale tak na serio, jak to się dzieje, że jak dasz useState, to się robi stan? Zobaczmy w źródełko, w kodzik: ReactHooks.js wygląda na to, że każdy hak działa pod spodem tak samo - i jest tylko wrapperem na daną metodę dispatchera. Każdy hak bowiem wywołuje sobie na początku funkcję resolveDispatcher , która pobiera aktualnego dispatchera (cokolwiek miałoby to znaczyć w praktyce - czy dispatcher jest zawsze ten sam, w danej apce, czy się zmienia? To pewnie jedno z tych pytań, które bym zadał na początku swojej pracy w Facebooku. Gdybym tam pracował oczywiście. I gdyby mi kazali dorabiać nowe haki do Reacta). Ale nic to, znalazłem po nitce do kłębka taki kodzik w pakiecie `react-reconciler`, wygląda na to, że oni tam zmieniają tego dispatchera dynamicznie: https://github.com/facebook/react/blob/267ed981466ef323b1461b013b5db8db31e31772/packages/react-reconciler/src/ReactFiberHooks.js#L1266 I czasem w wersji DEV jest inny. Po co tak? Nie wiem,...

Nauka programowania 2019

Obraz
Ten rok spędzam na nauce różnych rzeczy. Najpierw był blockchain, a dokładniej Ethereum. Trochę hello worldów zrobiłem. W ogóle dziwnie - bo wcześniej oglądałem różne teoretyczne wprowadzenia o blockchain i byłem pewny, że wiem mniej więcej, o co tam chodzi. Tutorial do Ethereum też wydawał się łatwy, prosty kodzik, bez problemu. Okazało się jednak, że o ile koncepcyjnie ogarniam, to zakodować i uruchomić prawdziwy program w blockchain to już nie jest takie proste. Nie umiałem odpalić apki czy zdeployować kontraktu. Chociaż jakoś to potem oczywiście odpaliłem, ale chyba tylko dlatego, że wystarczająco długo próbowałem ;) Ale nic to, myślę, że do tego jeszcze wrócę. Jednak i tak mimo wszystko oceniam blockchain za coś łatwiejszego od np. machine learning (tam to dopiero masakra. Więcej teorii trzeba zakumać). Potem zacząłem powracać do Three.js i robić grę (którą dalej robię i zamierzam ją jeszcze długo robić, aż zrobię do końca, czyli pewnie z rok albo i więcej), przy okazji po...

Niedzielny zrzut linków #2

Think About Code O tym jak jak programiści myślą o kodzie, jak sobie to w wyobraźni układają. Wywiady z programistami. Ciekawe dla mnie bo już wcześniej się zastanawiałem w jaki sposób ja myślę o kodzie, nawet chciałem o tym napisać wpis na blogu. A tutaj proszę bardzo. Rozmowy audio z kilkoma programistami na ten temat. Introduction to A* Wprowadzenie do A* - algorytmu wyszukiwania drogi w grach. Baaaardzo kolorowe to wprowadzenie, dużo rysunków, interaktywne animacje. Żadne tam nudy. <XRay /> - React CSS Layout Debugger proste narządzonko, które wyświetla grida na Reactowych komponentach (czy raczej pod nimi). Wejdźcie i kliknijcie "Enable" i patrzcie co się stanie.

Niedzielny zrzut linków #1

Od teraz co niedzielę będzie się pojawiał zrzut ciekawych linków. O tym, jak zrobić izometryczny widok w grze: Creating Isometric Worlds: A Primer for Game Developers O tym jak działa React od środka: Under the hood: ReactJS Gra w alchemię - masz 4 podstawowe żywioły i z nich robisz kolejne przedmioty, poprzez deszcz aż po samochód czy wiewiórkę: Little Alchemy Jeszcze jeden powód, dla którego nie powinno się zaśmiecać strony popupami i głupimi animacjami: Accessibility according to actual people with disabilities

Będzie coś o Reduxie.

Redux. Biblioteka, która sporo namieszała w świecie frontendu. Czemu? Co w niej takiego jest? W zasadzie nic czego nie byłoby gdzie indziej: kolejna biblioteka realizująca architekturę flux polecaną dla Reacta kolejna biblioteka do emitowania i nasłuchiwania eventów (powszechnie używany był wcześniej choćby EventEmitter z NodeJS) kolejna implementacja wzorca CQRS kolejna biblioteka, która wykorzystuje koncepcję reducerów z programowania funkcyjnego kolejna implementacja event sourcingu (czy może raczej biblioteka, w której można w bardzo prosty sposób zastosować event sourcing). ( Czemu jednak zdobyła taką popularność? Szczęśliwy traf i fajne demo. Fakt, że powstało to w ekosystemie Reacta , który był gorącą biblioteką w 2015 Prostota . Redux jest prosty w użyciu, opiera się na prostych zasadach (jeden stan na całą aplikację, wysyłanie komunikatów przez funkcję dispatch, zmiana stanu w reducerach, uaktualnienie komponentów o dane). Przemyślana archit...