Niedawno uczę się Angulara 6 z @ ngrx / store, podczas gdy jednym z tutoriali jest użycie @ ngrx / store do zarządzania stanem, jednak nie rozumiem korzyści z używania @ ngrx / store za kulisami.
Na przykład dla prostej akcji logowania i rejestracji, poprzednio przy użyciu usługi (nazwijmy ją AuthService), możemy użyć jej do wywołania interfejsu API zaplecza, przechowywania „userInfo” lub „token” w usłudze AuthService, przekierowania użytkownika do „HOME” page i możemy wstrzyknąć AuthService w dowolnym komponencie, w którym potrzebujemy uzyskać informacje o użytkowniku za pomocą DI, który po prostu obsługuje wszystko w jednym pliku AuthService .
Teraz, jeśli używamy @ ngrx / store, musimy zdefiniować Action / State / Reducer / Effects / Selector, który prawdopodobnie musi zapisać 4 lub 5 plików, aby obsłużyć powyższe działanie lub zdarzenie, to czasami nadal musimy wywołać backend api korzystanie z usługi, która wydaje się znacznie bardziej skomplikowana i zbędna ...
W innym scenariuszu widzę nawet, że strona używa @ ngrx / store do przechowywania obiektu lub listy obiektów, takich jak dane siatki. , czy to dla jakiegoś rodzaju użycia magazynu w pamięci?
Wracając do pytania, dlaczego używamy @ ngrx / store zamiast usługi rejestracji sklepu tutaj w projekcie Angular? Wiem, że służy do „ZARZĄDZANIA STANEM ”, ale czym dokładnie jest „ZARZĄDZANIE STANEM”? Czy to coś w rodzaju dziennika transakcji i kiedy go potrzebujemy? Dlaczego mielibyśmy tym zarządzać na froncie? Zachęcamy do dzielenia się sugestiami lub doświadczeniami w obszarze @ ngrx / sklepu!