Pytanie Kiedy wybierz opcję React state Vs Redux Store


Nauczyłem się Redux i część, o której jestem niejasny, to: jak dokonać determinacji między używaniem sklepu reagującego na stan i redux, a następnie wysyłanie akcji. z mojego dotychczasowego czytania wygląda na to, że mógłbym użyć stanu React zamiast sklepu Redux i nadal robić rzeczy. Rozumiem oddzielenie obaw od korzystania z magazynu Redux i posiadanie tylko jednego komponentu kontenera, a reszta to składnik bezpaństwowy, ale jak mam określić, kiedy należy używać stanu Reakcji Sklep Vs redux nie jest dla mnie zbyt jasny. Czy ktoś może Ci pomóc?

Dzięki!


18
2018-01-11 07:03


pochodzenie


Jest to powszechny dylemat, przed którym stają ludzie, którzy wchodzą do React Redux. Ale zalecam zrozumienie różnicy między stanem aplikacji a stanem składnika. - semuzaboi
Dan Abramov (twórca Redux) już odpowiedział na to. - totymedli


Odpowiedzi:


Jeśli stan nie musi być współdzielony z innymi komponentami lub stan nie musi być przechowywany po odłączeniu komponentu, możesz po prostu umieścić go w stanie komponentu.

Możesz myśleć, że sklep Redux jest bazą danych front-endu, jeśli masz coś w rodzaju danych produktu pobranych z API, to sklep Redux jest właściwym miejscem; jeśli masz komponent rozwijany, który pobiera isOpen prop, wtedy rodzic tego rozwijanego może po prostu zachować dropdownIsOpen jako stan komponentu.

Aby uzyskać więcej informacji, oto odpowiedź od Dana: https://github.com/reactjs/redux/issues/1287

Również powiedziałeś

tylko 1 komponent kontenera, a reszta to element bezstanowy

To jest niepoprawne. Możesz mieć kilka komponentów kontenera. Komponent kontenera może również zawierać inny komponent kontenera.


24
2018-01-11 07:28



Tak. Zobacz także odpowiedzi z FAQ Redux: redux.js.org/docs/faq/... , redux.js.org/docs/faq/ReactRedux.html#react-multiple-components . - markerikson


Masz całkowitą rację. Redux (i ogólnie architektura strumienia) to tylko narzędzia formalizacyjne, które pomagają w budowaniu dużych aplikacji. W ogóle nie są konieczne.

W rzeczywistości jest interesujący post, który nazywa się "Nie musisz redux" Dana Abramova, twórcy redux, który może dać ci lepszą odpowiedź niż ja: https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367#.7093fm1z8


0
2018-01-11 07:07





Z książki:

Przede wszystkim powinniśmy zawsze pamiętać, że tylko minimalny   ilość potrzebnych danych należy wprowadzić do państwa. Na przykład, jeśli my   trzeba zmienić etykietę po kliknięciu przycisku, którego nie powinniśmy przechowywać   tekst etykiety, ale powinniśmy zapisać tylko flagę typu Boolean, która   mówi nam, czy przycisk został kliknięty, czy nie. Po drugie, powinniśmy   dodaj do stanu tylko te wartości, które chcemy zaktualizować po zdarzeniu   dzieje się i dla którego chcemy przywrócić komponent do ponownego renderowania.   Innym sposobem, aby dowiedzieć się, czy państwo jest właściwe miejsce   informacje o sklepie to sprawdzenie, czy dane, które utrwalamy, są potrzebne   poza samym komponentem lub jego dziećmi. Jeśli jest wiele   komponenty muszą śledzić te same informacje, powinniśmy   rozważ użycie menedżera stanu, takiego jak Redux na poziomie aplikacji.


0
2017-09-04 16:22