Jestem trochę zagubiony co do tego, co trzymać w drzewie stanu Redux.Czy dane powinny znajdować się w drzewie stanu redux?
Widziałem dwa sprzeczne stwierdzenia dotyczące tego, co przechowywać w drzewach stanów.
- React doc powiedzieć nam, że tylko wejściowe użytkownika powinien być przechowywany w drzewach państwowych.
oryginalna lista produktów jest przekazywana jako rekwizyty, więc że nie Państwowej. Tekst wyszukiwania i pole wyboru wydają się być stanem, ponieważ zmieniają się w czasie i nie można ich obliczyć z niczego. I wreszcie, przefiltrowana lista produktów nie jest stanem, ponieważ można ją obliczyć, łącząc oryginalną listę produktów z tekstem wyszukiwania i wartością pola wyboru.
- Redux doc mówi nam, że często należy przechowywać stan UI i dane w jednym drzewie Stan:
Dla naszej aplikacji todo, chcemy przechowywać dwie różne rzeczy:
- Aktualnie wybrany filtr widoczności;
- Rzeczywista lista todos.
Często zdarza się, że w drzewie stanów trzeba przechowywać pewne dane, a także pewien stan interfejsu użytkownika **. Jest to w porządku, ale staraj się zachować dane oddzielnie od stanu interfejsu użytkownika.
React mówi, że nie powinniśmy przechowywać danych (mówię o danych z todos) i, dla mnie, Redux mówi coś przeciwnego.
W moim zrozumieć bym raczej na boku, ponieważ oba React React i Redux dąży do przewidywania stanu UI przechowując:
wszystko, co nie może być obliczana (np: wszystkie wejścia człowieka) i są częścią interfejsu:
- wartość checkbox
- wartość wejściowa
- wartość radiowy
- ...
Wszystko minimalne dane że mogłoby być wykorzystanie do budowania zapytania i wysłać go do bazy danych API/że zwróci pełną PROFIL użytkownika, listą znajomych, cokolwiek ...:
- ID użytkownika
- daty utworzenia wahają
- przedmioty Identyfikatory
- ...
Dla mnie że wyklucza wszelką bazy danych/API wynika ponieważ:
- że stoi na poziomie danych
- mogą być obliczane poprzez wysłanie prawo (i obliczane według czystych reduktorów) zapytania.
Więc co jest tutaj swoją opinię?
To niejasne, o co dokładnie pytasz. Ale jeśli renderujesz listę, możesz mieć redux przechowywać tę tablicę przedmiotów. Lista elementów zaczynałaby się od pustej, ale możesz zadzwonić do swojego API i zaktualizować stan redux o zwrócony list z API. – Dylan
Jeśli używasz tylko React bez Redux, dane będą przechowywane jako stan w jednym lub wielu składnikach. Możesz przekazać ten stan elementom potomnym za pomocą rekwizytów. W Redux państwo żyje w jednym miejscu i przechodzi w "subskrybowanie" komponentów React jako rekwizytów. –
@DanielN dodał nowe wyjaśnienie w mojej odpowiedzi. Widzę, że oświadczenie w React doc dotyczyło tylko tego przykładu. Ponieważ komponent już otrzymał swoje dane za pomocą rekwizytów, dlatego nie jest to stan, nie oznacza to, że dane nie są w stanie innego składnika (komponent root) –