Tło
Byłem budowania aplikacji przy użyciu React Native & Redux dokonać oceny nad tym, czy go używać do nadchodzącego projektu nad Swift i będzie całkowicie natywny.State Zarządzanie dla animacji Korzystanie React Native i Redux
Szczerze wierzę, że techniki Dana Abramova z Redux są przypadkiem solidnej inżynierii. Brak aktualizacji stanu i posiadanie poglądu jako funkcji państwa jest świetny i jestem bardzo zaangażowany w ten pomysł. Miejsce, w którym zamierzam się nieco odeprzeć, to wrzucanie animacji do miksu.
Scenariusz
Bardziej skomplikowane animacje wymagają zarządzania państwowego, na przykład, zanikaniem widok, zastępując tekst i blaknięcie go ponownie. Chciałbym tylko chcesz zaktualizować tekst w połowie animacji, a to łatwe do zrobienia przy użyciu lokalnego stanu i wykorzystania animowanej struktury.
Powiedz, że tekst do wyświetlenia jest sterowany przez stan, byłby aktualizowany w momencie zmiany stanu poprzez odpowiednią akcję, ale ze względu na prezentację potrzebuję tego między tymi dwoma animacjami.
Przykładem może być wybór rekordu z listy, na której znajduje się etykieta na ekranie pokazująca nazwę wybranego rekordu. Idealnie byłoby zaktualizować globalny sklep od razu, ale dokonaj miłego przejścia na samej etykiecie.
Moje myśli
Moim zdaniem to sprawia, że pewne ilości sensie użyć „” stan lokalnej wewnątrz komponentów do czynienia z animacji, a głównym przechowują Redux wiecej ogólnych danych lub architektury państwa. Problem polega na tym, że łamie to ideę poglądu będącego funkcją globalnego państwa i nie jestem pewien, czy jest to zgodne ze mną.
Z drugiej strony zarządzanie sekwencjami animacji itp. Poprzez zapisywanie stosów akcji, reduktorów i zaśmiecanie sklepu również nie jest czyste.
Pytanie
wiem React Native jest w jego dzieciństwie, a nie każdy korzysta Redux, ale jest tam powszechnie akceptowane sposób zarządzania animacje w tego rodzaju scenariusza?
Jestem bardzo zainteresowany tym, myślę o tym samym scenariuszu. – bilby91
Zadałem sobie podobne pytanie. Nie sądzę, że Redux został zaprojektowany do obsługi animacji i przejść. Jeśli uważasz, że każda klatka animacji jest stanem, musisz wysłać co najmniej 60 akcji na sekundę. Spowoduje to, że twoja aplikacja będzie bardziej skomplikowana i nie przyniesie wiele korzyści. Rozważmy ten scenariusz: dotykasz przycisku na stronie, a następnie przechodzisz do innej strony. Ma sens definiować stany na każdej stronie. Ale jak zdefiniować stany dla tego stosu nawigacyjnego? Zbudowałem kilka aplikacji, w których stany wyświetlania nie mają sensu ze względu na ilość animacji i wymagań perf. –
Tak, wpadłem na pomysł wykorzystania lokalnego stanu do kontrolowania animacji, ale nadal nie jest w 100% w porządku ze mną! –