Ponowne użycie komponentów React z Gutenberga w swoich wtyczkach WordPress

Opublikowany: 2020-10-01

Kilka dni temu David ukończył serię czterech wpisów na blogu przedstawiających React. Wyjaśnił tam, jak rozpocząć pracę z Reactem, aby łatwo tworzyć interfejsy użytkownika w WordPressie. W szczególności w części 2 tej serii postów David wyjaśnił, jak przygotować środowisko programistyczne i jak stworzyć prosty komponent React. Dziś przekonamy się, że oprócz tworzenia własnych komponentów React, bardzo dobrym pomysłem jest ponowne wykorzystanie istniejących komponentów.

Mężczyzna jeździ na dziwnym rowerze bez tylnego koła, ale z mechaniczną strukturą.
Wymyślanie koła na nowo nie ma sensu. Wykorzystaj istniejącą pracę wykonaną z Gutenbergiem, aby ponownie wykorzystać komponenty React, które zapewnia w interfejsach WordPress.

Odkąd Gutenberg pojawił się w WordPressie, JavaScript i framework React stały się kluczową częścią stosu deweloperskiego WordPressa. Dlatego jeśli nie jesteś przyzwyczajony do tych technologii, powinieneś się ich jak najszybciej nauczyć. Zrobiliśmy to i całkowicie przekodowaliśmy nasze wtyczki premium za pomocą Reacta. Oznaczało to przekształcenie wszystkich interfejsów użytkownika, które mieliśmy już z komponentami React.

Ponieważ programiści nie powinni wymyślać koła na nowo, aw świecie tworzenia oprogramowania mniej zawsze oznacza więcej, dzisiaj zobaczymy, jak ponownie wykorzystać istniejące komponenty React w WordPressie.

Komponenty React zawarte w WordPress

WordPress zapewnia ponad 80 komponentów React, które możesz ponownie wykorzystać w swoim rozwoju, za pośrednictwem pakietu @wordpress/components Gutenberga:

Lista komponentów React Gutenberga jest bardzo kompletna i przydatna do ponownego wykorzystania w twoich projektach.
Lista komponentów React Gutenberga jest bardzo kompletna i przydatna do ponownego wykorzystania w twoich projektach.

W każdym z folderów komponentów, które znajdziesz tutaj na Github projektu Gutenberg, masz kod źródłowy JavaScript każdego komponentu, a także jego style CSS i dokumentację, aby wiedzieć, jak i kiedy ich używać.

Wśród komponentów, których używaliśmy w Nelio do naszych nowych interfejsów React, warto wyróżnić Button i ButtonGroup , aby zdefiniować przyciski. Wszystkie kontrolery dla pól i opcji, takich jak CheckboxControl , InputControl , NumberControl , RadioControl , RangeControl , SelectControl lub TextControl . Lub nawet TabPanel dla interfejsów z zakładkami lub Popover i Modal dla pływających okien dialogowych. A jest ich znacznie więcej…

Gdybyśmy musieli tworzyć te komponenty od podstaw, z pewnością nadal programowalibyśmy teraz nowe interfejsy React naszych wtyczek premium. Ponowne wykorzystanie istniejących komponentów to najlepsza rzecz, jaką możesz zrobić jako programista, aby zaoszczędzić czas. A te dostarczone przez Gutenberga dla WordPressa są idealne dla twoich wtyczek.

Jak ponownie wykorzystać komponenty React WordPress

Wyobraź sobie, że chcesz użyć przycisku w swoim interfejsie opracowanym w React. Dzięki istniejącym komponentom w Gutenberg możesz bezpośrednio użyć komponentu Button , jak widać w poniższym przykładzie:

 /** * WordPress dependencies */ import { Button } from '@wordpress/components'; export default function MyComponent() { return <Button>Click Me!</Button>; }

Być może zastanawiasz się, czy w przypadku przycisku nie musisz używać komponentu Gutenberg, a zamiast tego używać bezpośrednio tagu <button> . I miałbyś rację.

Jednak używając Button Gutenberga, otrzymujesz, że twój przycisk ma ten sam styl CSS, co inne przyciski w interfejsie WordPress. Ponadto, jeśli składnik i jego style zostaną zaktualizowane, co wydarzyło się w prawie każdej nowej wersji WordPressa, jako programista nie będziesz musiał nic robić. Nie ponosisz odpowiedzialności za aktualizację Gutenberg Button . Gdybyś użył własnego przycisku, musiałbyś się tym zająć.

Style CSS zdefiniowane w składniku Button w Gutenberg.
Style CSS zdefiniowane w składniku Button w Gutenberg.

Aby ponownie użyć istniejącego komponentu Gutenberg, wystarczy sprawdzić, czy ten komponent istnieje i zaimportować go do swojego kodu za pomocą pakietu @wordpress/components . Jak widać w powyższym fragmencie kodu, zaimportowaliśmy komponent Button z tego pakietu. Aby pakiet był dostępny w twoim projekcie, musisz go zainstalować za pomocą polecenia npm install @wordpress/components w terminalu. Ale to już wyjaśnił David w swoich postach, więc nie zamierzam tego ponownie omawiać.

Musisz pamiętać, że aby te komponenty przyjęły style WordPress, musisz ustawić wp-components jako zależność pliku stylu CSS podczas umieszczania go w kolejce w WordPress za pomocą funkcji PHP wp_enqueue_style .

O ile twoje potrzeby nie są pokryte przez komponenty React dostarczone przez Gutenberga, nie wymyślaj na nowo koła i nie używaj ich. Korzyści z ponownego wykorzystania istniejących komponentów są znacznie większe niż przy użyciu własnych komponentów.

React Components Storybook Gutenberga

Jedną z nowości Gutenberga jest Storybook, który możemy znaleźć na Github. Storybook to narzędzie typu open source, które zapewnia piaskownicę do samodzielnego tworzenia i przeglądania komponentów. W przypadku WordPressa służy on m.in. jako dokumentacja komponentów.

Bajka Gutenberga.
Bajka Gutenberga.

Wśród różnych opcji zawartych w Gutenberg Storybook mamy możliwość wypróbowania edytora bloków poprzez menu Playground . Ale najciekawszą opcją jest możliwość zapoznania się z dokumentacją komponentów Gutenberga w przyjazny sposób.

Wystarczy otworzyć menu Komponenty i tam znajdziesz listę komponentów, które WordPress dostarcza za pośrednictwem pakietu @wordpress/components . Możesz zapoznać się z każdym komponentem React i zobaczyć przykłady użycia wraz z ich pełnym kodem JavaScript.

Na przykład na poniższym zrzucie ekranu widać przykłady komponentu Button z różnymi właściwościami, jakie mogą mieć przyciski. Następnie w zakładce Story masz kod źródłowy kompletnego przykładu:

Storybook Gutenberga pozwala ci przyjaźnie zbadać dołączone komponenty React i zobaczyć, jak je ponownie wykorzystać.
Storybook Gutenberga pozwala ci przyjaźnie zbadać dołączone komponenty React i zobaczyć, jak je ponownie wykorzystać.

Ponadto niektóre określone komponenty zawierają opcje na karcie Pokrętła umożliwiające modyfikowanie właściwości komponentu i podgląd zmian, jakie powodują w jego interfejsie.

Jednym z tych składników jest TextControl , który służy do dodawania pola tekstowego. Na poniższym zrzucie ekranu widzimy zakładkę Pokrętło z różnymi opcjami ukrywania etykiety komponentu lub zmiany tekstu zarówno etykiety, jak i pomocy. Możemy więc zobaczyć, jak komponent będzie wyglądał po zmianach i zdecydować, w jaki sposób chcemy go użyć w naszych interfejsach React:

Karta Gałki w Storybook Gutenberga pozwala bawić się właściwościami komponentów, aby zobaczyć, jaki wpływ mają one na wizualizację.
Karta Gałki w Storybook Gutenberga pozwala bawić się właściwościami komponentów, aby zobaczyć, jaki mają wpływ na ich wizualizację.

Nie wszystkie komponenty pakietu @wordpress/components mają pełną dokumentację w Storybook, więc będziesz musiał przejść do sekcji pakietów komponentów na Github, aby zobaczyć najnowszą wersję stanu komponentów React w Gutenberg.

Jednak wraz z ukończeniem dokumentacji Gutenberg Storybook będzie ona stawała się coraz bardziej interesująca dla programistów. Posiadanie tego typu dokumentacji w WordPressie to luksus. Jego użyteczność nie podlega dyskusji.

Widziałeś już wszystko, co komponenty React Gutenberga mogą zapewnić dla twoich projektów WordPress. Zamiast wymyślać koło na nowo i rozwijać własne komponenty podstawowe, najpierw spójrz na komponenty React Gutenberga, aby uzyskać spójność z resztą interfejsu WordPressa i skrócić czas programowania i konserwacji. Ponowne używanie oprogramowania jest kluczem do większej wydajności jako programiści WordPress.

Polecane zdjęcie Morning Brew na Unsplash.