2016-08-31 37 views
13

Czytałem kilka tutoriali redux i szczerze mówiąc nie widzę do tej pory, jaką wartość dodaną przynosi zwykły reagować.Redux vs plain React

Z tego co wiem, mogę zbudować aplikację i zarządzać jej stanem, używając tylko reakcji, więc co czyni redux czymś, co warto wykorzystać?

Cóż, ja uznaję Redux ma kilka zalet nad reagować, a mianowicie:

  • Śledzi wszystkich przeprowadzonych działań;
  • Ułatwia debugowanie ze względu na poprzedni punkt;
  • Zapobiega przekazywaniu/zmniejszaniu stanu między komponentami.

Ale może z powodu braku doświadczenia w budowaniu dużych aplikacji nie jestem przekonany, że ułatwiłoby mi to życie.

Czy można nieco bardziej szczegółowo opisać zalety stosowania redux zamiast zwykłego reagowania?

+0

reagować i redux służyć w zupełnie różnych celach w aplikacji. Czytaj dalej. – Bosworth99

+0

Dzięki redux Twoje życie może stać się łatwiejsze. Lub odwrotnie. Po prostu spróbuj sam zdecydować, czy ci się to podoba, czy nie. – zerkms

+0

W końcu mam wrażenie, że zależy to od zakresu projektu. Chociaż nie jestem ekspertem, wydaje mi się, że można łatwo stworzyć złożoną aplikację bez potrzeby jakiejkolwiek realizacji strumienia ... – Maxwelll

Odpowiedz

5

Dla mnie największą zaletą jest to, że redux ma jedno drzewo stanów w porównaniu do możliwie wielu mniejszych stanów w komponentach tylko react. Wraz z reduktorami redux "stan staje się bardzo deterministyczny i łatwiejszy do zrozumienia.

+4

Możesz mieć jeden stan hostowany przez składnik root nawet bez redux. – zerkms

+1

Dlatego właśnie powiedziałem "prawdopodobnie". Zarządzanie pojedynczym stanem w "reagowaniu" jest bardziej kłopotliwe niż w przypadku 'redux' IMO. –

+0

"Dlatego właśnie powiedziałem" prawdopodobnie "", "IMO" --- to właśnie sprawia, że ​​odpowiedź i pytanie są subiektywne. IMO - nie ma dużej różnicy. – zerkms

14

Off szczycie mojej głowie kilka zalet:

  • Dużo czasu drzewo z aplikacji państwo może być znacznie różni się od drzewa UI
  • Wiele elementów może mieć dostęp do tego samego stanu i wyświetlaj go na różne sposoby.
  • Gorące elementy przeładowujące usuwają istniejące drzewo komponentów, w tym wszelkie zapisane w nich dane. Pozostawienie stanu oddzielnie od drzewa interfejsu użytkownika umożliwia wymianę drzewa interfejsu użytkownika i ponowne ładowanie zaktualizowanych składników przy jednoczesnym zachowaniu obecnego stanu rozwoju.

A to już przed zapoznaniem się z wieloma powszechnie omawianymi korzyściami, takimi jak przewidywalne aktualizacje stanu, debugowanie czasu podróży, ulepszona testowalność i scentralizowana logika.

To z pewnością prawda, że ​​można napisać całą aplikację, używając tylko stanu komponentu Reacta (a sam Dan Abramov mówi, że ludzie zbyt wcześnie wchodzą do Redux), ale z mojej perspektywy Redux jest absolutnie tego wart.

edit

Pisałem się rozszerzoną wersję tej odpowiedzi jako artykuł na pełnym Stos React witrynie: Redux and Why It's Good For You.

Powiązane problemy