พื้นฐาน Context และการหลีกเลี่ยงการส่งพร็อพต่อทอด
เรียนรู้พื้นฐาน Context: สร้างคอนเท็กซ์ ครอบด้วย Provider ใช้ useContext เพื่อดึงค่า และแทนที่การส่งพร็อพต่อทอดสำหรับการตั้งค่าร่วมกัน
พื้นฐาน Context และการหลีกเลี่ยงการส่งพร็อพต่อทอด เป็นบทเรียน React Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน React Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส React Academy มีบทเรียนทั้งหมด 3 บทเรียน
เหตุใดจึงใช้บริบท
เป้าหมาย: แชร์ค่า เช่น ธีม ผู้ใช้ และภาษาและภูมิภาคไปทั่วทั้งต้นไม้โดยไม่ต้องส่งพร็อปต่อทอด
- สร้างบริบท
- ครอบด้วยตัวให้บริการ
- อ่านค่าผ่าน useContext
อธิบายการส่งพร็อปต่อทอด
การส่งพร็อปต่อทอด = การส่งพร็อปผ่านชั้นต่าง ๆ ที่ไม่ได้ต้องการพร็อปเหล่านั้น ทำให้โค้ดรกและปรับโครงสร้างได้ยากขึ้น
สาธิต: พื้นฐาน ThemeContext
สร้าง ThemeContext กำหนดธีมไว้ที่ระดับบนสุด แล้วอ่านค่าจากส่วนลึกของต้นไม้ด้วย useContext
<div id="root"></div>
เคล็ดลับและขอบเขต
เคล็ดลับ:
- ทำให้ค่าบริบทมีขนาดเล็ก เช่น ธีม ออบเจ็กต์ผู้ใช้ หรือการดำเนินการขนาดเล็ก
- ครอบเฉพาะบริเวณที่จำเป็น เพื่อให้การเรนเดอร์ใหม่เกิดขึ้นเฉพาะที่
- ตั้งชื่อตัวให้บริการและฮุกให้ชัดเจน เช่น ThemeProvider และ useTheme
สาธิต: ฮุกตัวช่วย useTheme
สร้างฮุก useTheme ขนาดเล็กเพื่อหลีกเลี่ยงการนำเข้าบริบทในทุกที่ โดยฮุกนี้จะเรียกใช้ useContext ภายในเท่านั้น
<div id="root"></div>
ข้อจำกัดและข้อควรระวัง
หลีกเลี่ยงการใช้บริบทสำหรับ:
- ค่าที่เปลี่ยนแปลงตลอดเวลาและบ่อยครั้งจนทำให้เกิดการเรนเดอร์ใหม่จำนวนมาก
- สถานะเฉพาะที่ซึ่งใช้โดยองค์ประกอบเดียว
- ออบเจ็กต์ขนาดใหญ่มาก ควรส่งเฉพาะสิ่งที่องค์ประกอบลูกต้องการ
ตรวจสอบวัตถุประสงค์ของบริบท
สรุป
สรุป: สร้างบริบท กำหนดค่าไว้ใกล้ระดับบนสุด แล้วอ่านค่าจากส่วนลึกของต้นไม้ด้วย useContext หรือฮุกตัวช่วย เพื่อหลีกเลี่ยงการส่งพร็อปซ้ำ ๆ
คำถามที่พบบ่อย
บทเรียน “พื้นฐาน Context และการหลีกเลี่ยงการส่งพร็อพต่อทอด” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “พื้นฐาน Context และการหลีกเลี่ยงการส่งพร็อพต่อทอด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส React Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส React Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “พื้นฐาน Context และการหลีกเลี่ยงการส่งพร็อพต่อทอด”
เรียนรู้พื้นฐาน Context: สร้างคอนเท็กซ์ ครอบด้วย Provider ใช้ useContext เพื่อดึงค่า และแทนที่การส่งพร็อพต่อทอดสำหรับการตั้งค่าร่วมกัน คุณปฏิบัติ React Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน React Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน React Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน
บทเรียน “พื้นฐาน Context และการหลีกเลี่ยงการส่งพร็อพต่อทอด” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน React Academy นี้ได้ไหม
ได้ บทเรียน React Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นฐาน Context และการหลีกเลี่ยงการส่งพร็อพต่อทอด
- พื้นฐาน useReducer และรูปแบบแอ็กชัน
- Context + Reducer: ตัวจัดเก็บสถานะแบบง่าย