Witam, popularniejszy jest Conext API czy Redux? Z tego co wiem, oba odpawiadają za podobną rzecz, pozwalają łatwiej zarządzać stanem (state) i przekazywać go do innych komponentów. Nie wiem za co sie zabrać. Tzn czy Redux odpadnie, skoro Context API jest od teamu od Reacta czy Redux i tak potrafi inne/więcej rzeczy?
Nie chcę Cię martwić ale autorzy reduxa (Dan i Andrew) obecnie wchodzą w skład react core team który jest odpowiedzialny za rozwój Reacta :).
Redux pod spodem wykorzystuje context api, więc tak oferuje więcej niż context api, ale nie oferuje tego za darmo, najlepiej przeczytać co autor reduxa o tym trade-offie napisał:
You Might Not Need Redux
Ktoś tu kiedyś pisał, że hype na Reduxa opada. No cóż, chyba nie :P https://www.reddit.com/r/reactjs/comments/favlhe/why_is_redux_necessary/
kakaisback napisał(a):
Witam, popularniejszy jest Conext API czy Redux?
Context, React-redux używa Contextu.
Z tego co wiem, oba odpawiadają za podobną rzecz, pozwalają łatwiej zarządzać stanem (state) i przekazywać go do innych komponentów.
Jak to jedyne co wiesz to nie potrzebujesz reduxa. Siła Reduxa tkwi w mozliwosci uzycia middleware'ow
Po ostatnich zabawach doszedłem do wniosku że Context API przydaje się tylko wtedy, kiedy tylko chcemy udostępniać danie na odległość, jak chcemy jeszcze je modyfikować (z odległych komponentów) to i tak będziemy musieli zaimplementować coś w stylu Reduxa, więc równie dobrze można od razu zacząć od Reduxa.
Także obecnie moje stanowisko jest takie, że Context API można kompletnie zignorować jeśli chodzi o pisanie kodu aplikacji i od razu iść w Reduxa, o ile rzeczywiście potrzebujemy komunikację/dzielenie stanu pomiędzy odległymi od siebie komponentami, lub mamy jeden z innych problemów który rozwiązuje Redux. Context API natomiast moze się przydać do pisania poszczególnych kontrolek takich jak router czy obsługa formularzy.