useContext Hook ทำให้การใช้บริบทง่ายขึ้นอย่างไร

Dec 11, 2025ฝากข้อความ

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

การใช้บริบทแบบดั้งเดิม

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

ลองมาดูตัวอย่างง่ายๆ ของการใช้บริบทโดยไม่มีใช้บริบทตะขอ. สมมติว่าเรามีแอปพลิเคชันที่เราต้องการแชร์ค่าธีมระหว่างส่วนประกอบต่างๆ

// สร้างบริบท const ThemeContext = React.createContext(); // องค์ประกอบที่ให้บริบท const ThemeProvider = ({ children }) => { const theme = "dark"; กลับ ( <ThemeContext.Provider value={theme}> {children} </ThemeContext.Provider> ); - // ส่วนประกอบที่ใช้คลาสบริบท ThemeConsumer ขยาย React.Component { render() { return ( <ThemeContext.Consumer> {theme => ( <div> ธีมปัจจุบันคือ {theme} </div> )} </ThemeContext.Consumer> ); } } // การใช้งาน const App = () => { return ( <ThemeProvider> <ThemeConsumer /> </ThemeProvider> ); - ReactDOM.render(<แอป />, document.getElementById('root'));

ในตัวอย่างนี้ ก่อนอื่นเราสร้างบริบทโดยใช้React.createContext()- จากนั้นเราก็มีส่วนประกอบของผู้ให้บริการที่ล้อมรอบรายการย่อยและจัดเตรียมค่าบริบท ส่วนประกอบของผู้บริโภคใช้ThemeContext.ผู้บริโภคเพื่อเข้าถึงค่าบริบท วิธีนี้มีข้อเสียหลายประการ มันทำให้โค้ดละเอียดมากขึ้น โดยเฉพาะอย่างยิ่งเมื่อต้องรับมือกับหลายบริบท นอกจากนี้ การอ่านและทำความเข้าใจยังอาจเป็นเรื่องยาก โดยเฉพาะสำหรับนักพัฒนาที่เพิ่งเริ่มใช้ React

ป้อนใช้บริบทตะขอ

ที่ใช้บริบทhook ช่วยลดความยุ่งยากในกระบวนการบริโภคบริบท ช่วยให้เราสามารถเข้าถึงค่าบริบทได้โดยตรงภายในองค์ประกอบการทำงานโดยไม่ต้องใช้ผู้บริโภคส่วนประกอบ.

ลองเขียนตัวอย่างก่อนหน้านี้ใหม่โดยใช้ใช้บริบทตะขอ:

Slatwall HooksPegboard Hooks

// สร้างบริบท const ThemeContext = React.createContext(); // องค์ประกอบที่ให้บริบท const ThemeProvider = ({ children }) => { const theme = "dark"; กลับ ( <ThemeContext.Provider value={theme}> {children} </ThemeContext.Provider> ); - // ส่วนประกอบที่ใช้บริบทโดยใช้ useContext const ThemeConsumer = () => { const theme = React.useContext(ThemeContext); return ( <div> ธีมปัจจุบันคือ {theme} </div> ); - // การใช้งาน const App = () => { return ( <ThemeProvider> <ThemeConsumer /> </ThemeProvider> ); - ReactDOM.render(<แอป />, document.getElementById('root'));

อย่างที่คุณเห็น.ธีมผู้บริโภคตอนนี้องค์ประกอบง่ายขึ้นมาก เราใช้ใช้บริบทขอเพื่อเข้าถึงค่าบริบทโดยตรง ทำให้โค้ดกระชับและอ่านง่ายขึ้น

ประโยชน์ของการใช้ใช้บริบทตะขอ

1. ความกระชับ

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

2. ความสามารถในการอ่าน

โค้ดจะอ่านง่ายขึ้นเนื่องจากเห็นได้ชัดเจนว่ามีการเข้าถึงค่าบริบทที่ใด ในแนวทางดั้งเดิมนั้นผู้บริโภคส่วนประกอบสามารถทำให้โค้ดซ้อนกันและติดตามได้ยากขึ้น โดยเฉพาะในแอปพลิเคชันขนาดใหญ่

3. บูรณาการกับส่วนประกอบการทำงานได้ง่ายขึ้น

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

4. บริบทที่หลากหลาย

เมื่อต้องรับมือกับหลายบริบทใช้บริบทตะขอส่องแสง ในแนวทางดั้งเดิม การใช้หลายบริบทจะต้องมีการซ้อนหลายบริบทผู้บริโภคส่วนประกอบที่อาจเลอะเทอะได้อย่างรวดเร็ว กับใช้บริบทเราสามารถเข้าถึงบริบทต่างๆ ได้อย่างอิสระและหมดจด

const ThemeContext = React.createContext(); const UserContext = React.createContext(); const ThemeProvider = ({ ลูก ๆ }) => { const theme = "dark"; กลับ ( <ThemeContext.Provider value={theme}> {children} </ThemeContext.Provider> ); - const UserProvider = ({ เด็ก }) => { ผู้ใช้ const = { ชื่อ: "จอห์น" - กลับ ( <UserContext.Provider value={user}> {children} </UserContext.Provider> ); - const MultiContextConsumer = () => { const theme = React.useContext (ThemeContext); ผู้ใช้ const = React.useContext (UserContext); return ( <div> ธีมปัจจุบันคือ {theme} และผู้ใช้คือ {user.name} </div> ); - แอป const = () => { กลับ ( <ThemeProvider> <UserProvider> <MultiContextConsumer /> </UserProvider> </ThemeProvider> ); - ReactDOM.render(<แอป />, document.getElementById('root'));

ข้อเสนอตะขอของเรา

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

บทสรุป

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

หากคุณสนใจผลิตภัณฑ์ Hooks ของเรา เราขอเชิญคุณเข้าร่วมเพื่อขอหารือเกี่ยวกับการจัดซื้อจัดจ้าง เรามุ่งมั่นที่จะมอบโซลูชั่นที่ดีที่สุดสำหรับความต้องการของคุณ

อ้างอิง

  • โต้ตอบเอกสารอย่างเป็นทางการเกี่ยวกับบริบทและตะขอ
  • โต้ตอบในการดำเนินการโดย Mark Thomas