Jaka jest potrzeba redux, ponieważ możemy również zapisywać i pobierać dane z usługi, o ile rozumiem, że możemy również uzyskać i zapisać dane w usłudze, a usługa może być używana przez inne składnikAngular 2: Różnica między usługą a reduxem
Odpowiedz
Usługa jest szczegółowym opisem implementacji. Natomiast redux to koncepcja architektoniczna. Te dwie nie są bezpośrednio porównywalne.
Jeśli jesteś zainteresowany, w jaki sposób redux można zastosować w Angular, polecam lekturę Comprehensive Introduction to @ngrx/store
.
Nie potrzebujesz redux, ale potrzebujesz sposobu na utrzymanie stanu. Usługa będzie działać, ale w końcu wyślesz coś przypominającego sklep redux lub ngrx.
Rozważ wyzwanie. Dane przychodzą asynchronicznie. Chcesz, żeby była reaktywna. Chcesz mieć obsługę błędów. Chcesz mieć stany oczekiwania, gdy dane są aktualizowane. Masz kaskadowe scenariusze, w których jedno zdarzenie wyzwala wiele akcji, z których każda ma własne opóźnienia i ścieżki błędów.
A chcesz ustawić wzór, który może być używany w wielu komponentach.
Victor Savkin ma sposób robienia tego z obserwowalnymi, które są bardzo śliskie. Ngrx ma inny sposób.
Napisałem umiarkowanie złożony komponent za pomocą usługi. Wszystko działało dobrze. Godziny zniknęłyby w tropieniu niektórych dziwnych sytuacji, w których państwo było niezdefiniowane i wyrzucało błędy. Zbyt dużo wrastałem w chwasty, żeby coś można było wykorzystać jako wzorzec. Rezultat był kruchy i kruchy. Nie była w pełni reaktywna i sprawiała, że było to niezwykle trudne i czasochłonne. Przeniosłem go na ngrx, a gdy krzywa uczenia się zostanie pokonana, co nie jest banalne, kod stał się prostszy i w pełni wyposażony w instrument umożliwiający szybkie debugowanie.
YMMV.
Każdy link dotyczący sposobu Victora Savkina czy robiący to z obserwowalnymi? –
dlaczego powinniśmy używać Redux – blackHawk
Jest mnóstwo materiału wychwalając zalety Redux. Nie powinno być trudno znaleźć. Być może bardziej interesujące pytanie brzmi: [jakie są wady przechowywania całego twojego stanu w jednym niezmiennym atomie?] (Https://github.com/reactjs/redux/issues/1385) – cartant
jakie jest najlepsze źródło uczyć się ngrx, czy ma oficjalną dokumentację? – blackHawk