นำส่วนประกอบ React กลับมาใช้ใหม่จาก Gutenberg ในปลั๊กอิน WordPress ของคุณ

เผยแพร่แล้ว: 2020-10-01

เมื่อไม่กี่วันก่อน David ได้ทำบล็อกโพสต์สี่ชุดเพื่อแนะนำ React ที่นั่นเขาอธิบายให้คุณทราบถึงวิธีเริ่มต้นใช้งาน React เพื่อสร้างส่วนต่อประสานผู้ใช้ใน WordPress อย่างง่ายดาย โดยเฉพาะในภาค 2 ของโพสต์ชุดนี้ David ได้อธิบายวิธีเตรียมสภาพแวดล้อมการพัฒนาและวิธีสร้างส่วนประกอบ React อย่างง่าย วันนี้เราจะเห็นว่านอกจากการสร้างส่วนประกอบ React ของคุณเองแล้ว การนำส่วนประกอบที่มีอยู่กลับมาใช้ใหม่เป็นความคิดที่ดี

ผู้ชายขี่จักรยานแปลก ๆ ที่ไม่มีล้อหลัง แต่มีโครงสร้างทางกลแทน
การสร้างวงล้อใหม่ไม่สมเหตุสมผลเลย ใช้ประโยชน์จากงานที่มีอยู่ที่ทำกับ Gutenberg เพื่อนำส่วนประกอบ React ที่มีให้ในอินเทอร์เฟซ WordPress ของคุณกลับมาใช้ใหม่

เนื่องจาก Gutenberg ปรากฏใน WordPress JavaScript และกรอบ React ได้กลายเป็นส่วนสำคัญในการพัฒนา WordPress นั่นคือเหตุผลที่ถ้าคุณไม่คุ้นเคยกับเทคโนโลยีเหล่านี้ คุณควรเรียนรู้พวกเขาโดยเร็วที่สุด เราทำเช่นนั้นและได้เข้ารหัสปลั๊กอินพรีเมียมของเราใหม่ทั้งหมดโดยใช้ React นี่หมายถึงการเปลี่ยนอินเทอร์เฟซผู้ใช้ทั้งหมดที่เรามีอยู่แล้วด้วยส่วนประกอบ React

เนื่องจากโปรแกรมเมอร์ไม่ควรสร้างวงล้อขึ้นมาใหม่ และในโลกของการพัฒนาซอฟต์แวร์นั้น ย่อมมีมากกว่านั้นเสมอ วันนี้เราจะมาดูวิธีนำส่วนประกอบ React ที่มีอยู่กลับมาใช้ใหม่ใน WordPress

ส่วนประกอบ React ที่รวมอยู่ใน WordPress

WordPress มีส่วนประกอบ React มากกว่า 80 รายการที่คุณสามารถใช้ซ้ำในการพัฒนาของคุณผ่านแพ็คเกจ @wordpress/components ของ Gutenberg:

รายการส่วนประกอบ React ของ Gutenberg นั้นสมบูรณ์และมีประโยชน์มากในการนำกลับมาใช้ใหม่ในการพัฒนาของคุณ
รายการส่วนประกอบ React ของ Gutenberg นั้นสมบูรณ์และมีประโยชน์มากในการนำกลับมาใช้ใหม่ในการพัฒนาของคุณ

ในแต่ละโฟลเดอร์คอมโพเนนต์ที่คุณจะพบที่นี่ใน Github ของโปรเจ็กต์ Gutenberg คุณจะมีซอร์สโค้ด JavaScript ของแต่ละองค์ประกอบ ตลอดจนสไตล์ CSS และเอกสารประกอบเพื่อให้ทราบว่าจะใช้งานอย่างไรและเมื่อใด

ในบรรดาองค์ประกอบที่เราที่ Nelio ใช้สำหรับอินเทอร์เฟซ React ใหม่ของเรา การเน้น Button และ ButtonGroup เพื่อกำหนดปุ่มนั้นคุ้มค่า ตัวควบคุมทั้งหมดสำหรับฟิลด์และตัวเลือกต่างๆ เช่น CheckboxControl , InputControl , NumberControl , RadioControl , RangeControl , SelectControl หรือ TextControl หรือแม้แต่ TabPanel สำหรับอินเทอร์เฟซแบบแท็บ หรือ Popover และ Modal สำหรับกล่องโต้ตอบแบบลอย และยังมีอีกมากมาย...

หากเราต้องพัฒนาส่วนประกอบเหล่านี้ตั้งแต่เริ่มต้น แน่นอนว่าเรายังคงเขียนโปรแกรมอินเทอร์เฟซ React ใหม่ของปลั๊กอินพรีเมียมของเราอยู่ในขณะนี้ การใช้ส่วนประกอบที่มีอยู่ซ้ำเป็นสิ่งที่ดีที่สุดที่คุณสามารถทำได้ในฐานะนักพัฒนาเพื่อประหยัดเวลา และสิ่งที่ Gutenberg ให้บริการสำหรับ WordPress นั้นสมบูรณ์แบบสำหรับปลั๊กอินของคุณ

วิธีการใช้ WordPress React Components ซ้ำ

ลองนึกภาพว่าคุณต้องการใช้ปุ่มในอินเทอร์เฟซที่พัฒนาขึ้นใน React ขอบคุณส่วนประกอบที่มีอยู่ใน Gutenberg คุณสามารถใช้องค์ประกอบ Button ได้โดยตรงดังที่คุณเห็นในตัวอย่างต่อไปนี้:

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

คุณอาจสงสัยว่าสำหรับปุ่มใดปุ่มหนึ่ง คุณไม่จำเป็นต้องใช้คอมโพเนนต์ Gutenberg และใช้แท็ก <button> โดยตรงแทน และคุณจะพูดถูก

อย่างไรก็ตาม ด้วยการใช้ Button Gutenberg สิ่งที่คุณได้รับก็คือปุ่มของคุณมีรูปแบบ CSS เหมือนกับปุ่มอื่นๆ ในอินเทอร์เฟซของ WordPress นอกจากนี้ หากมีการอัปเดตส่วนประกอบและรูปแบบ สิ่งที่เกิดขึ้นใน WordPress เวอร์ชันใหม่เกือบทุกเวอร์ชัน ในฐานะนักพัฒนา คุณไม่จำเป็นต้องดำเนินการใดๆ ความรับผิดชอบในการอัปเดต Button Gutenberg ไม่ใช่ของคุณ หากคุณใช้ปุ่มของคุณเอง นั่นคือสิ่งที่คุณจะต้องดูแล

สไตล์ CSS ที่กำหนดไว้ภายในองค์ประกอบปุ่มใน Gutenberg
สไตล์ CSS ที่กำหนดไว้ภายในองค์ประกอบปุ่มใน Gutenberg

หากต้องการนำส่วนประกอบ Gutenberg ที่มีอยู่กลับมาใช้ใหม่ คุณเพียงแค่ต้องตรวจสอบว่ามีส่วนประกอบนี้อยู่หรือไม่ และนำเข้าไปยังโค้ดของคุณผ่านแพ็คเกจ @wordpress/components ดังที่คุณเห็นในข้อมูลโค้ดด้านบน เราได้นำเข้าส่วนประกอบ Button จากแพ็คเกจนี้ และเพื่อให้มีแพ็คเกจพร้อมใช้งานภายในโปรเจ็กต์ของคุณ คุณต้องติดตั้งโดยใช้คำสั่ง npm install @wordpress/components ในเทอร์มินัล แต่ David ได้อธิบายเรื่องนี้ไปแล้วในโพสต์ของเขา ดังนั้นฉันจะไม่พูดถึงเรื่องนี้อีก

สิ่งที่คุณต้องจำไว้ก็คือเพื่อให้ส่วนประกอบเหล่านี้ใช้สไตล์ WordPress คุณต้องตั้งค่า wp-components เป็นการพึ่งพาไฟล์สไตล์ CSS ของคุณเมื่อคุณเข้าคิวใน WordPress ด้วยฟังก์ชัน PHP wp_enqueue_style

เว้นแต่ความต้องการของคุณจะไม่ครอบคลุมโดยส่วนประกอบ React ที่ Gutenberg จัดหาให้ อย่าคิดค้นล้อใหม่และใช้งาน ประโยชน์ของการนำส่วนประกอบที่มีอยู่กลับมาใช้ใหม่นั้นยิ่งใหญ่กว่าการใช้ส่วนประกอบของคุณเองอย่างมาก

หนังสือนิทานส่วนประกอบปฏิกิริยาของ Gutenberg

ความแปลกใหม่อย่างหนึ่งของ Gutenberg คือ Storybook ที่เราหาได้ใน Github Storybook เป็นเครื่องมือโอเพ่นซอร์สที่มีแซนด์บ็อกซ์สำหรับการพัฒนาและการดูส่วนประกอบแบบแยกส่วน ในกรณีของ WordPress จะทำหน้าที่เป็นเอกสารประกอบสำหรับส่วนประกอบต่างๆ

หนังสือนิทานของกูเตนเบิร์ก
หนังสือนิทานของกูเตนเบิร์ก

ในบรรดาตัวเลือกต่างๆ ที่รวมอยู่ใน Gutenberg Storybook เรามีความเป็นไปได้ที่จะลองใช้ตัวแก้ไขบล็อกผ่านเมนู สนามเด็กเล่น แต่ตัวเลือกที่น่าสนใจที่สุดคือสามารถดูเอกสารประกอบของส่วนประกอบ Gutenberg ได้อย่างเป็นกันเอง

คุณเพียงแค่ต้องเปิดเมนู ส่วนประกอบ และคุณจะพบรายการส่วนประกอบที่ WordPress จัดเตรียมไว้ให้ผ่านแพ็คเกจ @wordpress/components คุณสามารถสำรวจแต่ละองค์ประกอบ React และดูตัวอย่างการใช้งานด้วยโค้ด JavaScript แบบเต็ม

ตัวอย่างเช่น ในภาพหน้าจอต่อไปนี้ คุณจะเห็นตัวอย่างของส่วนประกอบ Button ที่มีคุณสมบัติต่างๆ ที่ปุ่มอาจมี จากนั้นในแท็บ Story คุณจะมีซอร์สโค้ดของตัวอย่างที่สมบูรณ์:

หนังสือนิทานของ Gutenberg ให้คุณสำรวจส่วนประกอบ React ที่รวมไว้อย่างเป็นกันเอง และดูวิธีนำกลับมาใช้ใหม่ได้
หนังสือนิทานของ Gutenberg ให้คุณสำรวจส่วนประกอบ React ที่รวมไว้อย่างเป็นกันเอง และดูวิธีนำกลับมาใช้ใหม่ได้

นอกจากนี้ ส่วนประกอบเฉพาะบางตัวยังรวมถึงตัวเลือกภายในแท็บ ลูกบิด เพื่อแก้ไขคุณสมบัติของส่วนประกอบและดูตัวอย่างการเปลี่ยนแปลงที่เกิดขึ้นในอินเทอร์เฟซ

หนึ่งในองค์ประกอบเหล่านี้คือ TextControl ซึ่งใช้เพื่อเพิ่มฟิลด์ข้อความ ในภาพหน้าจอต่อไปนี้ เราจะเห็นแท็บ ลูกบิด พร้อมตัวเลือกต่างๆ เพื่อซ่อน ป้ายกำกับ ของส่วนประกอบหรือเพื่อเปลี่ยนข้อความของทั้งป้ายกำกับและวิธีใช้ ดังนั้นเราจึงสามารถเห็นได้ว่าส่วนประกอบจะมีลักษณะอย่างไรกับการเปลี่ยนแปลงและตัดสินใจว่าเราต้องการใช้ในส่วนต่อประสาน React ของเราอย่างไร:

แท็บลูกบิดใน Storybook ของ Gutenberg ให้คุณลองใช้คุณสมบัติของคอมโพเนนต์เพื่อดูว่ามีผลกระทบอย่างไรต่อการสร้างภาพข้อมูลของคุณ
แท็บ Knobs ใน Storybook ของ Gutenberg ให้คุณลองใช้คุณสมบัติของคอมโพเนนต์เพื่อดูว่ามีผลกระทบอย่างไรต่อการแสดงภาพ

ไม่ใช่ทุกองค์ประกอบในแพ็คเกจ @wordpress/components ที่มีเอกสารประกอบที่สมบูรณ์ใน Storybook ดังนั้นคุณจะต้องไปที่ส่วนแพ็คเกจส่วนประกอบบน Github เพื่อดูสถานะเวอร์ชันล่าสุดของส่วนประกอบ React ใน Gutenberg

อย่างไรก็ตาม เมื่อเอกสาร Gutenberg Storybook เสร็จสมบูรณ์ นักพัฒนาก็จะมีความน่าสนใจมากขึ้นเรื่อยๆ การมีเอกสารประเภทนี้ใน WordPress ถือเป็นเรื่องหรูหรา ประโยชน์ของมันอยู่เหนือการสนทนา

คุณได้เห็นทุกสิ่งที่ส่วนประกอบ React ของ Gutenberg สามารถจัดเตรียมไว้สำหรับการพัฒนา WordPress ของคุณ แทนที่จะคิดค้นวงล้อใหม่และพัฒนาส่วนประกอบพื้นฐานของคุณเอง ให้ดูที่ส่วนประกอบ React ของ Gutenberg ก่อน เพื่อให้สอดคล้องกับส่วนต่อประสาน WordPress ที่เหลือ และประหยัดเวลาในการพัฒนาและบำรุงรักษา การใช้ซอฟต์แวร์ซ้ำเป็นกุญแจสำคัญในการมีประสิทธิภาพมากขึ้นในฐานะนักพัฒนา WordPress

ภาพเด่นโดย Morning Brew บน Unsplash