React Context - bu global tarzda holatni boshqarish usuli.
Bu useState
Hook bilan birga ishlatilishi mumkin, bu holatni chuqur joylashgan komponentlar orasida osonroq bo'lishiga yordam beradi.
Holat, holatga kirish zarur bo'lgan eng yuqori ota komponentda saqlanishi kerak.
Misol uchun, ko'plab ichki komponentlar mavjud. Pilet ustida va pastki qismidagi komponentlar holatga kirish zarur.
Agar Contextdan foydalanmasak, biz holatni har bir ichki komponent orqali "props" sifatida uzatishimiz kerak bo'ladi. Bu "prop drilling" deb ataladi.
Ichki komponentlar orqali "props" uzatish:
Garchi 2-4 komponentlar holatga muhtoj bo'lmasa ham, ular holatni o'tkazishlari kerak edi, shunda bu holat 5-komponentga yetib borishi mumkin.
Yechim - Context yaratishdir.
Context yaratish uchun, createContext
-ni import qilish va uni inicializatsiya qilish kerak:
Keyingi qadamda, Context Provider yordamida holat Contexti kerak bo'lgan komponentlar daraxtini o'rab chiqamiz.
Bolalar komponentlarni Context Provider bilan o'ralgan va holat qiymatini taqdim etamiz.
Endi bu daraxtdagi barcha komponentlar UserContext
-ga kirish huquqiga ega bo'ladi.
Bolalar komponentda Contextdan foydalanish uchun useContext
Hook-dan foydalanishimiz kerak.
Birinchidan, useContext
import bayonotiga qo'shilsin:
Keyin barcha komponentlarda UserContext
-ni olishingiz mumkin:
Bu yerda React Context yordamida to'liq misol keltirilgan: