การจัดการสถานะ React ด้วย Context

ยูทูบ :

โค้ดแซนด์บ็อกซ์ :

แรงจูงใจ

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

ข้อกำหนดเบื้องต้น

เราจะทำการ refactoring <App>— ซึ่งใช้ local state— เพื่อใช้ Context:

อย่างที่คุณเห็น มีตัวนับที่มี 2 ปุ่มที่เพิ่มหรือลดจำนวนการนับ

ผู้ให้บริการ

สร้าง<Provider>และตั้งค่า prop valueเป็น 0:

แสดง<Provider>ผลเป็นองค์ประกอบระดับบนสุดในindex.js:

รับผู้ให้บริการvalueด้วยuseContextใน<App>:

ใช้ลด

สร้างฟังก์ชั่นลด:

ผ่านสถานะและส่งจากuseReducerไปยังผู้ให้บริการ prop value:

อัปเดต<App>ด้วยค่าบริบทใหม่:

ผู้บริโภค

อีกทางเลือกหนึ่งคือuseContextผู้บริโภค

ขั้นแรก ส่งออกConsumerจากบริบท:

จากนั้นแทนที่useContextด้วย<Consumer>:

<Consumer>ต้องการฟังก์ชันโทรกลับสำหรับchildrenprop อาร์กิวเมนต์ที่ 1 คือvalueProvider

ระดับ

สำหรับส่วนประกอบของคลาส ค่า Provider สามารถเข้าถึงได้บนthis.context:

ทำ

แนวคิดสำหรับการปรับปรุง:

  • สร้างhook แบบกำหนดเองสำหรับuseContext(Context).
  • Refactor action types เป็นค่าคงที่
  • สร้างผู้สร้างการกระทำ
  • ตั้งค่าdisplayNameตามบริบทเพื่อปรับปรุงการมองเห็นใน React DevTools
  • วิดีโอ YouTube
  • การสาธิต CodeSandbox
  • บริบท
  • ใช้ลด

Suggested posts

หลีกเลี่ยงผลร้ายของโรคหลอดเลือดสมอง: เรียนรู้จากการเดินทางของครอบครัว

หลีกเลี่ยงผลร้ายของโรคหลอดเลือดสมอง: เรียนรู้จากการเดินทางของครอบครัว

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

ทรัพยากรการเข้ารหัสที่ฉันใช้มากที่สุด

ทรัพยากรการเข้ารหัสที่ฉันใช้มากที่สุด

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

Related posts

เงินทุนกำจัดคาร์บอนในปีงบประมาณ 24

รายละเอียดคำขอจัดสรรของ Carbon180 ข้ามเส้นทาง

เงินทุนกำจัดคาร์บอนในปีงบประมาณ 24

โดย Alyson Lee ที่ปรึกษาด้านการจัดการภาครัฐ กระบวนการจัดสรรประจำปีของรัฐบาลกลางเป็นหัวใจสำคัญของความพยายามของเราในการให้ทุนสนับสนุนการกำจัดก๊าซคาร์บอนไดออกไซด์ (CDR) ในแต่ละปี Carbon180 จะส่งคำขอไปยังสำนักงานรัฐสภาหลายแห่งเพื่อช่วยชี้แนะว่าเงินดอลลาร์ในปีหน้าจะไหลไปที่ใด

สิ่งที่คุณสามารถทำได้ในช่วงเวลาแห่งการรอคอย (รองานแรกของคุณในด้านเทคโนโลยี)

สิ่งที่คุณสามารถทำได้ในช่วงเวลาแห่งการรอคอย (รองานแรกของคุณในด้านเทคโนโลยี)

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

ไม่มีรหัสผ่านอีกต่อไป — รหัสผ่านจะมาแทนที่รหัสผ่านของคุณได้อย่างไร

ไม่มีรหัสผ่านอีกต่อไป — รหัสผ่านจะมาแทนที่รหัสผ่านของคุณได้อย่างไร

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

การสร้างสภาพแวดล้อมการทำงานที่ปลอดภัย

การสร้างสภาพแวดล้อมการทำงานที่ปลอดภัย

“เขาจะปกป้องฉันเมื่อฉันตกอยู่ในอันตราย เขาจะซ่อนฉันไว้ในเต็นท์ของเขา