Jak uporządkować komponenty w React

Wysoce uparty zestaw zasad, oparty na zasadach Atomic Design, aby upewnić się, że Twoje komponenty są uporządkowane.

To jest krótki przewodnik po regułach, których używam do organizowania komponentów podczas tworzenia aplikacji React. Odkryłem, że posiadanie dobrze zdefiniowanego systemu pomaga nie tylko w organizacji, ale także pomaga lepiej określić, w jaki sposób komponenty do siebie pasują i zmaksymalizować możliwość ponownego wykorzystania w całym kodzie.

Zdecydowanie sprawdź rozszerzoną wersję tego artykułu, jeśli interesuje Cię przykładowy kod, przykładowe repozytorium i więcej informacji na temat projektowania atomowego.

Zawartość

  • Struktura aplikacji
  • Zasady atomów
  • Zasady cząsteczek
  • Zasady organizmów
  • Zasady szablonów
  • Zasady stron
  • Zasady tras

Kiedy początkowo tworzę aplikację React, umieszczam cały kod w /srcfolderze. /src/componentsFolder posiada wszystkie React komponenty podzielone na pięć kategorii: Atomic projekt atomów, cząsteczek, organizmów, szablonów i stron. Dogodnie są one już w porządku alfabetycznym od najmniejszego elementu pojęciowego do największego!

/routesFolderu (co może być nazwane inaczej, jak w Next.js gdzie byłoby również nazwać pages) polecam utrzymanie oddzielone od /components/pagesw celu oddzielnego kodu strona UI z kodem aplikacji routingu.

/..
--/node_modules
--/public
--/src
--|-/components
--|-|-/atoms
--|-|-/molecules
--|-|-/organisms
--|-|-/templates
--|-|-/pages
--|-/routes
--|-/styles
--|-/utility
--|-/etc...

Zasady atomów

Atom to podstawowy składnik, jak ogólny charakter może być. Pomyśl o przyciskach, danych wejściowych lub sformatowanym tekście tytułu:

  • Nie powinien tworzyć innych komponentów/wykorzystuje tylko elementy natywne lub komponenty specyficzne dla frameworka, podobne do elementów natywnych
  • Może mieć własne znaczniki i style
  • Potrafi utrzymać swój własny stan wewnętrzny
  • Nie powinien być ściśle powiązany z określonymi obszarami interfejsu użytkownika lub logiki
  • Nie należy bezpośrednio uzyskiwać dostępu do aplikacji (lub wyższego poziomu)
  • Nie powinien mieć żadnych skutków ubocznych niezwiązanych z interfejsem użytkownika/układem
  • Nie należy wdrażać żadnej logiki biznesowej specyficznej dla aplikacji

Te cząsteczki węgla tworzy się tworzyć bardziej złożone składnik z własnym znaczników i stylizacji dodaje się do mieszanki. Bardzo podobne do atomów, ale wymyśl coś w rodzaju elementu formularza wielokrotnego użytku z komunikatami wejściowymi, etykietami i walidacją błędów lub kartą produktu z tytułem, podtytułem i obrazem:

  • Składa się z jednego lub więcej atomów
  • Może mieć własne znaczniki i style
  • Potrafi utrzymać swój własny stan wewnętrzny
  • Nie powinien być ściśle powiązany z określonymi obszarami interfejsu użytkownika lub logiki
  • Nie należy bezpośrednio uzyskiwać dostępu do aplikacji (lub wyższego poziomu)
  • Nie powinien mieć żadnych skutków ubocznych niezwiązanych z interfejsem użytkownika/układem
  • Nie należy wdrażać żadnej logiki biznesowej specyficznej dla aplikacji

Organizm jest gdzie logika biznesowa z aplikacji zaczyna wychodzić. Mogą odpowiadać określonej funkcji lub sekcji aplikacji. Mogą być również ogólnie stosowane, ale ściśle powiązane z logiką aplikacji. Pobieranie danych i odczytywanie/zapisywanie do stanu aplikacji powinno odbywać się przede wszystkim tutaj (lub alternatywnie na poziomie strony). Może to być cały formularz, część karty zakupowej lub profil użytkownika:

  • Jest bardziej złożony, składa się z wielu atomów i/lub cząsteczek i/lub innych organizmów
  • Może mieć własne znaczniki i style
  • Może pobierać dane specyficzne dla aplikacji
  • Potrafi wdrożyć logikę biznesową specyficzną dla aplikacji
  • Może być podłączony do stanu aplikacji (lub wyższego poziomu)
  • Może być ściśle powiązany z określonym obszarem (UI i/lub logiką) aplikacji
  • Można organizować w podfoldery według logicznej kategoryzacji (funkcja, strona itp.)

Szablon jest sposób, aby upewnić się, że na stronach swojej aplikacji są spójne. Zajmują się tworzeniem układu i ułatwiają określenie, dokąd należy skierować określone obszary treści lub funkcjonalności. Istnieje wiele sposobów tworzenia szablonów. Wolę mieć jeden komponent, który przyjmuje inne komponenty jako rekwizyty i umieszcza te potomne rekwizytów w znacznikach specyficznych dla układu:

  • Ułatwia rozmieszczenie wielu organizmów
  • Może mieć własne znaczniki i style.
  • Może akceptować i przekazywać rekwizyty zgodnie z wymaganiami.
  • Nie należy uzyskiwać dostępu do stanu aplikacji (lub wyższego poziomu)
  • Nie powinien mieć żadnych skutków ubocznych niezwiązanych z interfejsem użytkownika/układem
  • Nie należy wdrażać żadnej logiki biznesowej specyficznej dla aplikacji

Te strony są ostatnim elementem układanki Atomowej projektu, a każdy z nich będzie stanowić szablon konkretnego. Preferuję bardzo proste komponenty strony, ale mogą być bardziej złożone, jeśli wolisz proste trasy ( patrz następna sekcja ). Najprościej rzecz ujmując, strona po prostu implementuje szablon, przypisując odpowiednie dzieci do odpowiednich rekwizytów szablonu:

  • Implementuje określony szablon
  • Może pobierać dane specyficzne dla aplikacji
  • Potrafi wdrożyć logikę biznesową specyficzną dla aplikacji
  • Może być podłączony do stanu aplikacji (lub wyższego poziomu)
  • Nie powinien mieć własnych znaczników i stylów

Wreszcie trasy , choć nie są częścią Atomic Design per-se, są nadal ważne do przemyślenia w React. Oprócz obsługi routingu w Twojej witrynie, trasy mogą przejąć dowolne obowiązki, których strony mogą nie wdrażać. . Jeden lub drugi składnik Page lub Route powinien być stosunkowo prosty, a drugi powinien obsługiwać wszelkie złożoności związane z pobieraniem danych, logiką biznesową, stanem aplikacji i tak dalej.

  • Powinien obsługiwać rzeczy, które nie są obsługiwane przez strony
  • Może pobierać dane aplikacji (jeśli nie zostało to zrobione w Pages)
  • Może zaimplementować logikę biznesową specyficzną dla aplikacji (jeśli nie jest to wykonywane w Pages)
  • Może być podłączony do stanu aplikacji (lub wyższego poziomu) (jeśli nie zostało to zrobione w Pages)
  • Nie powinien mieć żadnych komponentów specyficznych dla interfejsu użytkownika
  • Nie powinien mieć własnych znaczników i stylów

Ponownie, jeśli chcesz dokładniej przyjrzeć się, jak to działa w praktyce, przeczytaj to dalej !

Śledź mnie na Twitterze @BenjaminWFox, aby uzyskać więcej informacji o technologii, przywództwie i innych treściach i skontaktuj się z wszelkimi przemyśleniami lub pytaniami!

Pierwotnie opublikowany na https://benjaminwfox.com .

Suggested posts

Unikanie niszczycielskich konsekwencji udaru mózgu: nauka z rodzinnej podróży.

Unikanie niszczycielskich konsekwencji udaru mózgu: nauka z rodzinnej podróży.

Wstęp Udar to nagły przypadek medyczny, który może dotknąć każdego w dowolnym momencie. Występuje, gdy przepływ krwi do części mózgu zostaje zakłócony, co prowadzi do nagłej utraty funkcji mózgu.

Rewolucja bez kodu: wyzwalanie dobrobytu biznesowego dzięki Webflow, Framer, Bubble.io,

Rewolucja bez kodu: wyzwalanie dobrobytu biznesowego dzięki Webflow, Framer, Bubble.io,

Wyrusz w ekscytującą podróż pełną innowacji i sukcesu, wykorzystując niewykorzystany potencjał tych zaskakujących platform bez kodu. Pozwólcie, że podzielę się z wami historią o Sapnie, niezwykłej kobiecie-przedsiębiorcy.

Related posts

Finansowanie usuwania dwutlenku węgla w RO24

Podział wniosków o środki Carbon180 na różne ścieżki

Finansowanie usuwania dwutlenku węgla w RO24

Autor: Alyson Lee, doradca zarządzający ds. spraw rządowych Coroczny proces przyznawania środków przez rząd federalny ma kluczowe znaczenie dla naszych wysiłków na rzecz sfinansowania usuwania dwutlenku węgla (CDR). Każdego roku Carbon180 przesyła prośby do różnych biur kongresowych, aby pomóc wskazać, gdzie będą płynąć dolary w przyszłym roku.

Kłamstwo kowbojskie

Jak megakorporacje sprzedały Amerykanom mocne kłamstwo

Kłamstwo kowbojskie

Jest wspaniale złoty poranek na falistych wzgórzach zachodu, gdy pierwsze promienie słońca oświetlają oszronioną trawę na równinach. Stado spokojnego bydła rasy Angus, czarnego jak smoła i masywne, rysuje się na tle wschodu słońca, gdy zmierza utartym szlakiem do miejsca, które wszyscy dobrze znają; bar śniadaniowy.

Co możesz zrobić w swoim okresie oczekiwania (czekając na wylądowanie Twoja pierwsza praca w technologii)

Co możesz zrobić w swoim okresie oczekiwania (czekając na wylądowanie Twoja pierwsza praca w technologii)

Przejście do nowej kariery może być niezwykle trudne, jeśli spróbujesz zrobić to sam. Ważne jest, aby znaleźć odpowiedzialnych partnerów, którzy są na tym samym poziomie uczenia się co ty, którzy mają podobne cele, wytrwałość i motywację.

Co wpływa na podcast?

Co wpływa na podcast?

W zeszłym tygodniu zauważyłem komunikat prasowy, wysłany za pośrednictwem PressGazette (brytyjski serwis informacyjny). W artykule ogłoszono, że Acast, skandynawska firma hostingowa i reklamowa podcastów, będzie przewodzić konsorcjum „prawdopodobnie najbardziej wpływowych” wydawców podcastów.