Buduję aplikację Anglar 2 ngrx/store i staram się zrozumieć najlepsze praktyki.Redux/ngrx/store architecture: dlaczego nie wysyłać akcji z głupich komponentów?
- Uwielbiam mieć niezmienny stan, który zmienia się tylko na podstawie wysłanych działań, dzięki czemu stan aplikacji jest bardzo przejrzysty i możliwy do debugowania.
- Uwielbiam jednostronny przepływ danych z "inteligentnych" kontenerów, ponieważ pozwala nam to używać rury asynchronicznej do mniejszej kontroli stanu.
Ale nie rozumiem, dlaczego chcielibyśmy "spaprać" wydarzenia od głupich komponentów do inteligentnych komponentów przed wysłaniem akcji do sklepu. Czy jest to jedyny powód, aby mieć elementy, które można ponownie wykorzystać? Wydaje mi się, że większość komponentów nie jest ponownie wykorzystywana, ponieważ nie ma wielu sytuacji, w których chciałbym mieć wszystko identyczne, w tym CSS. Czy są jakieś inne korzyści, których mi brakuje? Z punktu widzenia łatwości konserwacji/czytelności, czy nie jest przyjemniej móc zobaczyć działanie wysłane bezpośrednio w komponencie, w którym odbywa się interakcja?
Po użyciu ng> 2 przez pewien czas zdałem sobie sprawę, że ngrx/effect i smart-container to dwa wybory projektowe jakie posiadasz. Jeśli używasz ngrx/effects, wtedy nie masz zbyt dużej potrzeby używania Smart-Dumb Components. –
Możliwy duplikat [React/Redux - zapisz wybraną wartość na Zmień] (https://stackoverflow.com/questions/44549916/react-redux-save-select-value-onchange) –