Wpis z mikrobloga

Mamy tu jakichś angularowych katów?
Jest taki art w necie: https://medium.com/@jtomaszewski/how-to-write-good-composable-and-pure-components-in-angular-2-1756945c0f5b
No i ogólnie jest jeszcze kilka, które traktują o zajebistości pure komponentów.
Tylko jakoś mi one nie podchodzą... Bo przenoszą dużą część logiki na główny smart/impure/container component.
Prosty przykład (pic rel). Na górze MenuComponent jest pure na dole nie.

W przypadku podejścia w którym tylko article component jest impure, Menu przyjmuje info o tym, czy art można edytować , usuwać itp. i na podstawie tego wyświetla odpowiednie przyciski. Po naciśnięciu przycisku emituje event, z którego korzysta główny komponent i używając routera przekierowuje do odpowiedniej akcji.

W przypadku obu komponentów impure wstrzykuję odpowiednie usługi do MenuComponent i on sam sobie ogarnia sprawdzenie jakie przyciski może wyświetlić i akcje (przekierowanie) po ich naciśnięciu.

Arty w necie z reguły mówią że podejście 1 jest lepsze (albo ja czegoś tu nie rozumiem?) dla mnie osobiście podejście 2 to słuszna droga. Podejście 2 o wiele lepiej rozgranicza tutaj to czym który komponent się zajmuje i jest ogólnie mniej kodu. Przy 1 podejściu jeżeli zdecyduję że chcę usunąć menu to usunięcie go nie sprowadza się do usunięcia komponentu i jego użycia ale muszę też dodatkowo kasować metody, które dodałem do ArtComponent tylko po to żeby obsłużyć menu (bez sensu).

bmLq - Mamy tu jakichś angularowych katów?
Jest taki art w necie: https://medium.com...

źródło: comment_rUem87b9ocAYoYRwXgUHHB8uuo9FgFft.jpg

Pobierz
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@bmLq: możesz mieć kilka mniejszych smart komponentów, albo dyrektyw, nie musi być jednego dużego. Ale komponenty prezentacyjne łatwiej jest reużywać lub zmieniać ich użycie.
  • Odpowiedz
@bmLq: Też nie jestem do końca przekonany do tego typu zaleceń i staram się ich sztywno nie trzymać, bo to najgorsze co można zrobić. A już takie przemądrzałe artykuły pokazujące jedyną słuszną drogę to puentuję śmiechem.
  • Odpowiedz