Nie ma nic złego w posiadaniu niektórych komponentów ze stanem.
zerkms
3
Zależy to całkowicie od tego, gdzie państwo jest używane. Pomyśl o sklepach Redux jako o globalnym zasięgu. Wszystko, co nie musi być globalne, może pozostać prywatne dla składnika i jego elementów podrzędnych.
azium
Odpowiedzi:
139
Jasne zastosowania setState będzie dotyczyło składników interfejsu użytkownika, które mają lokalny stan wyświetlania, ale nie są istotne dla aplikacji globalnej. Na przykład wartość logiczna, która określa, czy określone menu rozwijane jest aktywnie wyświetlane, nie musi być w stanie globalnym, więc wygodniej jest nią sterować stan elementu menu.
Inne przykłady mogą obejmować stan zwinięcia / rozwinięcia linii w hierarchii wyświetlania harmonijkowego. Lub ewentualnie aktualnie wybrana karta w nawigacji po kartach. Jednak w obu tych przykładach nadal możesz wybrać obsługę stanu interfejsu użytkownika globalnie. Na przykład byłoby to konieczne, gdybyś chciał zachować stan rozwinięcia / zwinięcia w pamięci przeglądarki, tak aby został zachowany przez odświeżenie strony.
W praktyce zazwyczaj najłatwiej jest zaimplementować takie elementy UI ze stanem lokalnym i refaktoryzować je do stanu globalnego w razie potrzeby.
Odpowiedzi:
Jasne zastosowania
setState
będzie dotyczyło składników interfejsu użytkownika, które mają lokalny stan wyświetlania, ale nie są istotne dla aplikacji globalnej. Na przykład wartość logiczna, która określa, czy określone menu rozwijane jest aktywnie wyświetlane, nie musi być w stanie globalnym, więc wygodniej jest nią sterować stan elementu menu.Inne przykłady mogą obejmować stan zwinięcia / rozwinięcia linii w hierarchii wyświetlania harmonijkowego. Lub ewentualnie aktualnie wybrana karta w nawigacji po kartach. Jednak w obu tych przykładach nadal możesz wybrać obsługę stanu interfejsu użytkownika globalnie. Na przykład byłoby to konieczne, gdybyś chciał zachować stan rozwinięcia / zwinięcia w pamięci przeglądarki, tak aby został zachowany przez odświeżenie strony.
W praktyce zazwyczaj najłatwiej jest zaimplementować takie elementy UI ze stanem lokalnym i refaktoryzować je do stanu globalnego w razie potrzeby.
źródło
setState
jest całkowicie w porządku : redux.js.org/docs/faq/ ...