React podstawy, co dalej?

0

Hej, właśnie rzeźbię darmowy ebook podstaw ReactJS "The-road-to-learn-react", Robert Wieruch

Jak już zdążyłem się zorientować, na React się składa wiele bibliotek. Co proponujecie dalej, po poznaniu podstaw, żeby wejść głębiej? Podręczniki z Amazonie są raczej słabo oceniane. A może znacie jakiś dobry? Czy kursy? A może po prostu praktyka?

Pzdr

1

Tak jak z absolutnie wszystkim, od matematyki po grę na pianinie: praktyka.

0

Kursy Udemy, tutorial ze strony Reacta.

2

Jak już zdążyłem się zorientować, na React się składa wiele bibliotek.

Chyba chodzi ci o ekosystem Reacta. Bo sam React to niby faktycznie kilka bibliotek (react, react-dom i parę innych), ale dalej jest to React.

Jednak jak ktoś używa Reacta to często używa też innych bibliotek, które Reactem już nie są, a są po prostu popularne w społeczności.

Np. Redux. Nie przepadam, ale to standard. Tzn. sam Redux nie jest zły. Problemem z Reduxem jest brak dobrej abstrakcji na niego, wskutek czego ludzie pisząc w Redux tworzą dość zamotany kod, bo nie umieją inaczej. Ale jednak jak chcesz iść w React, to wcześniej czy później stykniesz się z Reduxem. Warto poczytać oficjalną dokumentację i wypowiedzi jego twórcy Dana Abramova (nick gaearon na internetach), bo on tłumaczy różne rzeczy (a Redux to pewnie najbardziej niezrozumiana biblioteka JSowa).

Co proponujecie dalej, po poznaniu podstaw, żeby wejść głębiej?

JavaScript, po prostu. Zarówno ten nowszy (ES6 i dalej), jak i wcześniejsze rzeczy z języka (wiele osób skupia się na nowinkach, a zapomina o podstawach). A React i tak to głównie po prostu JavaScript.

Co do samego Reacta zaś to warto być na bieżąco (czyli np. nie createClass a klasy z ES6 albo komponenty funkcyjne. No i warto poznać nowinki z wersji 16.3 https://reactjs.org/blog/2018/03/29/react-v-16-3.html ).

0

Redux wcale nie jest zagmatwany. Bo to w gruncie rzeczy trzy rzeczy: Store, Akcje i Reducery, a korzyści płynace z użytkowania Reduxa są nieocenine.

0

Redux wcale nie jest zagmatwany.

Zgadzam się. Sam Redux nie jest zagmatwany, problem jest w tym, w jaki sposób ludzie z niego korzystają, i to, że tworzą zagmatwany kod zamiast pisać prosto.

Bo to w gruncie rzeczy trzy rzeczy: Store, Akcje i Reducery,

To nie takie proste. W realnych apkach potrzeba robić często efekty uboczne, asynchroniczny przepływ danych. Moim zdaniem nie da się prosto pisać w Redux, używając tych abstrakcji i mechanizmów, które Redux dostarcza out-of-the-box, bo one są po prostu niewystarczające na potrzeby realnych apek.

Redux jest paradoksalnie zbyt prosty (żeby być przydatny out-of-the-box), dlatego ludzie piszą w nim w skomplikowany sposób (często z niewiedzy/braku pomysłu, w jaki sposób można by zintegrować Reduxa z resztą aplikacji), albo korzystają z dodatkowych bibliotek typu Redux-saga, które pomagają gdzieś trzymać tę (potrzebną w końcu) złożoność i które dostarczają nowych abstrakcji i mechanizmów do obsługi choćby asynchronicznego przepływu danych (np. przy komunikacji z serwerowym API)

0
LukeJL napisał(a):

Redux wcale nie jest zagmatwany.

Zgadzam się. Sam Redux nie jest zagmatwany, problem jest w tym, w jaki sposób ludzie z niego korzystają, i to, że tworzą zagmatwany kod zamiast pisać prosto.

Bo to w gruncie rzeczy trzy rzeczy: Store, Akcje i Reducery,

To nie takie proste. W realnych apkach potrzeba robić często efekty uboczne, asynchroniczny przepływ danych. Moim zdaniem nie da się prosto pisać w Redux, używając tych abstrakcji i mechanizmów, które Redux dostarcza out-of-the-box, bo one są po prostu niewystarczające na potrzeby realnych apek.

Redux jest paradoksalnie zbyt prosty (żeby być przydatny out-of-the-box), dlatego ludzie piszą w nim w skomplikowany sposób (często z niewiedzy/braku pomysłu, w jaki sposób można by zintegrować Reduxa z resztą aplikacji), albo korzystają z dodatkowych bibliotek typu Redux-saga, które pomagają gdzieś trzymać tę (potrzebną w końcu) złożoność i które dostarczają nowych abstrakcji i mechanizmów do obsługi choćby asynchronicznego przepływu danych (np. przy komunikacji z serwerowym API)

Na te wszystkie bolączki jest własnie Redux. React to UI budowany na komponentach, a Redux to cała asynchroniczność.

0

Redux akurat jest synchroniczny by design i sam w sobie nie rozwiązuje w żaden sposób problemów z asynchronicznością.

0
LukeJL napisał(a):

Redux akurat jest synchroniczny by design i sam w sobie nie rozwiązuje w żaden sposób problemów z asynchronicznością.

Ok, ale miałem na mysli, ze asynchronicznośc nie powinna byc problemem z Redux, bo są: redux-thunk i redux-promise-middleware.

1 użytkowników online, w tym zalogowanych: 0, gości: 1