คอมโพเนนต์ลำดับสูง
ห่อคอมโพเนนต์เพื่อเพิ่มพฤติกรรมหรือข้อมูลโดยไม่แก้ไขคอมโพเนนต์เดิม
คอมโพเนนต์ลำดับสูง เป็นบทเรียน Sveltejs Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Sveltejs Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Sveltejs Academy มีบทเรียนทั้งหมด 4 บทเรียน
นิยาม HOC
คอมโพเนนต์ระดับสูงคือคอมโพเนนต์ที่ห่อหุ้มคอมโพเนนต์อื่น เพื่อเพิ่มพฤติกรรมหรือข้อมูล
ใน Svelte
คุณสามารถเขียนคอมโพเนนต์ตัวห่อหุ้มที่นำเข้าคอมโพเนนต์พื้นฐาน แล้วเพิ่มความสามารถ เช่น การบันทึกข้อมูล การตรวจสอบสิทธิ์ และการกำหนดธีม
<!-- WithAuth.svelte -->
{#if user}
<slot />
{:else}
<a href="/login">Login</a>
{/if}การใช้งาน
ห่อหุ้มหน้าที่ต้องมีการตรวจสอบสิทธิ์
<WithAuth>
<Dashboard />
</WithAuth>เพิ่มพฤติกรรม
HOC สามารถแนบตัวจัดการเหตุการณ์ เฝ้าดูการเลื่อน หรือแทรกสไตล์รอบคอมโพเนนต์ลูกได้
เปรียบเทียบกับการประกอบ
HOC เป็นรูปแบบหนึ่ง ส่วนการประกอบด้วยสล็อตหรือสนิปเป็ตมักเรียบง่ายกว่า
เมื่อใดควรใช้ HOC
ใช้สำหรับข้อกังวลร่วมที่ควรห่อหุ้มคอมโพเนนต์หลายรายการอย่างสม่ำเสมอ
HOC สำหรับผู้ให้บริการบริบท
HOC ที่เรียกใช้ setContext เป็นวิธีสะอาดในการจำกัดขอบเขตของการพึ่งพาให้กับโครงสร้างย่อย
การส่งต่อพร็อพส์
ใช้ $$restProps หรือ rest จาก $props() เพื่อส่งต่อพร็อพส์ตามอำเภอใจ
ประสิทธิภาพ
ตัวห่อหุ้มจะเพิ่มชั้นของคอมโพเนนต์ โดยทั่วไปไม่เป็นปัญหา แต่ควรเฝ้าระวังในส่วนติดต่อผู้ใช้ที่ซ้อนกันหลายชั้น
การทดสอบ
HOC ทดสอบได้ง่ายโดยเมานต์ตัวห่อหุ้มพร้อมข้อมูลเข้าที่หลากหลาย
ทางเลือก: สโตร์แบบกำหนดเอง
บางครั้งการใช้สโตร์แบบกำหนดเองร่วมกับคอมโพเนนต์ขนาดเล็กก็สะอาดกว่าการใช้ HOC
ตรวจสอบความเข้าใจ
HOC ทำหน้าที่อะไร
ทบทวน
องค์ประกอบระดับสูงใช้ห่อหุ้มคอมโพเนนต์เพื่อเพิ่มข้อกังวลร่วมที่ตัดข้ามหลายส่วนของระบบ เหมาะสำหรับการตรวจสอบสิทธิ์ การกำหนดธีม และการบันทึกข้อมูลในหลายหน้า
คำถามที่พบบ่อย
บทเรียน “คอมโพเนนต์ลำดับสูง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “คอมโพเนนต์ลำดับสูง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Sveltejs Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Sveltejs Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “คอมโพเนนต์ลำดับสูง”
ห่อคอมโพเนนต์เพื่อเพิ่มพฤติกรรมหรือข้อมูลโดยไม่แก้ไขคอมโพเนนต์เดิม คุณปฏิบัติ Sveltejs Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Sveltejs Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Sveltejs Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “คอมโพเนนต์ลำดับสูง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Sveltejs Academy นี้ได้ไหม
ได้ บทเรียน Sveltejs Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- Render Props ด้วย Snippet
- คอมโพเนนต์ลำดับสูง
- รูปแบบ Builder สำหรับ UI แบบไร้ส่วนแสดงผล
- คอมโพเนนต์ประกอบร่วมกับ Context