YouTube2Text

48 : Using (useContext) to Fix The Prop Drilling Issue — Transcript

by أكاديمية ترميز · 3,650 words · 504 segments · language en · Watch on YouTube

Full transcript

  1. 0:00السلام عليكم حياكم الله بالدرس ال 48 من
  2. 0:02سلسله دروس رياكت جي اس بالدرس السابق
  3. 0:05شفنا ايش هي المشكله الخاصه بالبرو
  4. 0:07دريلينج وبهذا الدرس راح نشوف طريقه حلها
  5. 0:10عن طريق استخدام احد الهوكس اللي بتوفر
  6. 0:13لنا اياها رياكت اللي هو عباره عن اليوز
  7. 0:16كونتكست هوك المشكله اللي انتهينا عندها
  8. 0:18في الدرس السابق هو انك انت محتاج انك
  9. 0:21تاخذ البروبس من كل كمبوننت وترسلها
  10. 0:24للثاني والثاني ياخذها ويرسلها للثالث
  11. 0:27لحتى توصل الى نهايه التري اللي هي فعلا
  12. 0:30بدها تستفيد من ها البروبس من خلال الفالو
  13. 0:32او الاون تينج او على حسب الحاله وهذا
  14. 0:35الشيء متعب كل ما صارت التري عندك اطول
  15. 0:38وبالتالي عشان نحل هذا الشيء نحن بنستخدم
  16. 0:40اليوز هوك كونتكست فكره اليوز هوك كونتكست
  17. 0:45الاساسيه انه انت بتعرف متغير هذا المتغير
  18. 0:49بدك توفره لبرنت معين وكل الابناء المندرج
  19. 0:55تحته سواء كانوا ابناء مباشرين او حتى
  20. 0:58اللي ممكن نعتبرهم احفاد اللي هم ابناء
  21. 1:00الابناء الى اخره وبالتالي انت بترسل هذا
  22. 1:03الكونتكس مره واحده بعدين بتقرر في اي ابن
  23. 1:08من الابناء الموجودين عندك في التري بدك
  24. 1:10تستخدم هذا الكونتكس وكانه عم يصير له باس
  25. 1:14ضمنيا لكل الابناء بس بدون ما تضطر انك
  26. 1:17تكتب الاكواد اللي بتسوي لك هذا الشيء هذا
  27. 1:20مجرد تعريف سريع عن الكونتكس طيب كيف
  28. 1:22منسوي الكونتكس عششان تسوي الكونتكت انت
  29. 1:25في عندك ثلاث خطوات رئيسيه الخطوه الاولى
  30. 1:29هو ان انك تبني هذا الكونتكت بروفايدر
  31. 1:33البروفايدر بتقدر تعتبره مثلا مزود الخدمه
  32. 1:36هو الكونتكت او الجهه اللي راح تتبنى هذا
  33. 1:40المتغير او المتغيرات اللي بدك تسوي لها
  34. 1:42باس على كل التري فهي هي النقطه الاولى
  35. 1:45النقطه الثانيه بعد ما سويت هذا
  36. 1:47البروفايدر اللي بيزود لك الخدمه بدك تحدد
  37. 1:50مين بده يستفيد من ها الخدمه مين بده
  38. 1:52يلتقط هذا المتغير من الابناء ويستفيد منه
  39. 1:56ويعرضه عنده او حتى يتعامل معه وبالتالي
  40. 1:59الخطوه الثانيه هو انك تحدد الكنسر الخطوه
  41. 2:02الثالثه هو انك تسوي باس للفال عشان يقدر
  42. 2:06الكنسر يستفيد منها فهي بتقدر تقسمها كذلك
  43. 2:09الى خطوتين انك تسوي باس للفال بعدين
  44. 2:11تستفيد من ها الفاليو من خلال الكسوم ففي
  45. 2:14عننا بروفايدر اللي بيوفر لنا المتغير في
  46. 2:18عننا كونسيومر اللي بيستفيد من هذا
  47. 2:20المتغير او من البروبس اللي بيتم ارسالها
  48. 2:23وفي عننا الفالو نفسها اللي راح يتم عمل
  49. 2:26انجكت او اقحام لها بداخل هذا الكونتكت او
  50. 2:30التري تبع الكومبوننت عشان يصير الكلام
  51. 2:33واضح خلينا نبدا بالجزء التطبيقي اول خطوه
  52. 2:35بنسويها هو انه بسوي كرييت للكونكس كيف
  53. 2:39بنسوي كريت للكونكت عن طريق استدعاء داله
  54. 2:43موجوده في رياكت اسمها اساسا كريت كونتكست
  55. 2:47وعشان اسوي هذا الكونتكس من الشائع انك
  56. 2:49تفصله الى فايل خاص فيه وبالتالي انا راح
  57. 2:53اجي اسوي مجلد جديد هذا المجلد راح يكون
  58. 2:56مخصص لكل كونتكست لانه انت غالبا في
  59. 3:00المشروع الحقيقي بون عندك اكثر من كونتكست
  60. 3:03او مجموعه من المعلومات اللي بدك تشاركها
  61. 3:05وبالتالي راح اسمي هذا المجلد باسم
  62. 3:07كونتكست وبعدين بداخله راح اسوي ملف جديد
  63. 3:11راح احدد راح ابني فيه ال كونتكست هذا
  64. 3:14المجلد الجديد عشان تسميه من الشياع انك
  65. 3:16تسميه باسم المعلومه او المتغيرات او
  66. 3:19الاوبجكت اللي بيفر لك اه هذا الكونتكس
  67. 3:22والمعلومات الموجوده عندي هي كلها عباره
  68. 3:24عن الانبوت وكيف هذا الانبوت راح يتعامل
  69. 3:27مع الاستيت تبع اللون فورم وبالتالي انا
  70. 3:29راح اسميه باسم مثلا لون فورم انبوت
  71. 3:34كونتكست بهذا الشكل طبعا هو في نهايه
  72. 3:36الامر عباره عن ملف جافا سكريبت لكنه ما
  73. 3:38راح يكون كومبونت راح يكون ملف يحتوي على
  74. 3:41التالي اول شيء مثل ما ذكرت لك عشان توفر
  75. 3:45الكونتكت انت بتست دعي فانكشن موجوده في
  76. 3:49رياكت اسمها كريت كونتكست اي شيء موجود في
  77. 3:52رياكت انت ما بتقدر تستدعيه مباشره بهذا
  78. 3:54الشكل وتقول له كريت كونتكست مباشره انت
  79. 3:57لازم تسوي له امبورت من رياكت كيف بتسوي
  80. 4:00له امبورت من رياكت تكتب امبورت وبعدين
  81. 4:02بتفتح الكيرلي براكتس وبعدين بتقول له
  82. 4:05كريت كونتكست بهذا الشكل بعدين بتقول له
  83. 4:09فرام وبتحدد المكتبه اللي هي مكتبه رياكت
  84. 4:12فانا الان صار عندي الكريت كونتكست اللي
  85. 4:14هي بتمثل لي الفانكشن اللي انا ممكن اصنع
  86. 4:16منها كونتكست طيب اللي راح اجي اسويه اني
  87. 4:19راح اعرف متغير هذا المتغير راح اسميه
  88. 4:22باسم لون انبوت كونتكست مو شرط يكون نفس
  89. 4:26اسم الفايل الموجود عندك هون ممكن تسميه
  90. 4:28بالاسم اللي بدك اه بس هذا هو المتغير
  91. 4:30اللي راح يمثل لي الزبده اللي هو عباره عن
  92. 4:33الكونتكس تبعي اللي انا بدي استخدمه حتى
  93. 4:35لو التفاصيل لسه ملخبطه عندك عند الحد
  94. 4:37الحالي لا تحكم عليها لحتى تكتمل الصوره
  95. 4:40بشكل كامل بس عشان انبهك يعني الان هذا
  96. 4:42المتغير ايش يساوي يساوي استدعاء ها
  97. 4:45الداله اللي اسمها كريت كونتكست وبالتالي
  98. 4:47راح يجي يقول له كريت كونتكست وبعدين بتست
  99. 4:50دعي ها الفانكشن لانه هي فانكشن فلازم
  100. 4:52تفتح لها قوسين عشان تستدعيها كرامر هون
  101. 4:55لازم تحدد ايش القيمه الابتدائيه للمت ير
  102. 5:00او لاوبك او للاري على حسب النوع اللي بدك
  103. 5:03اياه للشيء اللي بدك تسوي لله باس فانا
  104. 5:06عشان اعرف القيمه الابتدائيه خليني ارجع
  105. 5:08اتذكر ايش الاشياء اللي انا محتاج اني
  106. 5:10اوفرها لكل الابناء في التري عندي عندي
  107. 5:14اللون فورم ايش عم يسوي لي عم يرسل لي
  108. 5:16الانبوت نيم عم يرسل لي الهاندل تينج
  109. 5:19كومبونت عم يرسل لي الفالو كومبونت فهو عم
  110. 5:22يرسل لي ثلاث شغلات وبالتالي ها الثلاث
  111. 5:24شغلات ممكن احطها كلها بداخل اوبجكت واحد
  112. 5:28هو اللي بيحدد لي ها الثلاث شغلات اللي
  113. 5:29راح يتم ارسالها وبالتالي راح ارجع مره
  114. 5:32ثانيه عند اللون فورم انبوت كونتكست وراح
  115. 5:35اقول له الشيء اللي راح ابدا فيه هو عباره
  116. 5:38عن اوبجكت هذا الاوبجكت يحتوي على ثلاث
  117. 5:40شغلات راح اسمي الشيء الاول هو الليبل
  118. 5:43تايتل اللي هو فعليا بيمثل لي هذا الانبوت
  119. 5:47نيم بس انا سميته باللب تايتل وهذا راح
  120. 5:49يكون مبدئيا عباره عن سترنج فاضي وراح
  121. 5:52يكون عندي كذلك شيء اسمه الهاندل تينج
  122. 5:56اللي هي عباره عن الفنكشن اللي لازم يتم
  123. 5:58استدعائها في كل مره بصير في تينج على
  124. 6:00الانبوت وهي راح تكون في البدايه نل
  125. 6:03واخيرا في عندي الفالو اللي راح يتم
  126. 6:05ارسالها ل الكومبوننت هي راح اسميها باسم
  127. 6:08الانبوت فو بهذا الشكل واللي راح تكون
  128. 6:11كذلك نول فهي مجرد القيم الابتدائيه
  129. 6:14الموجوده هون انا عرفت هذا المتغير هذا
  130. 6:17المتغير هو اللي راح يمثل لي البروفايدر
  131. 6:20تبع الكونتكس وعشان استفيد منه لازم اصدره
  132. 6:25برا هذا الفايل لانه حاليا لا يمكن الوصول
  133. 6:28اله من الملفات الخارجيه كيف بصدره عن
  134. 6:31طريق اني اجي يقول له مثلا اكسبورت لهذا
  135. 6:35اللون انبوت كونتكست بهذا الشكل عن طريق
  136. 6:38اني اجي يقول له قبل التعريف الم موجود
  137. 6:41هون بنفس الطريقه اللي كنا نسويها بالنسبه
  138. 6:43للكومبوتر بهذا الشكل فلو سويت سيف الان
  139. 6:47هذا راح يتم تصديره كنتيجه نهائيه من هذا
  140. 6:50الملف اللي اسمه لون فورم انبوت كونتكست
  141. 6:52انا لسه عرفت هذا الكونتكس لسه ما اكملت
  142. 6:55بناء البروفايدر بشكل كامل ايش الخطوه
  143. 6:58التاليه الخطوه التاليه اني اجيب هذا
  144. 7:00الكونتكس واستخدمه كبرو فايدر للابناء
  145. 7:04الموجودين عندي بداخل اللون فورم وبالتالي
  146. 7:06راح اجي عند بدايه هذا الملف وقول له
  147. 7:09امبورت وطبعا هون بحكم اني انا خليتها
  148. 7:12اكسبورت ما كتبت اكسبورت ديفولت فلازم لما
  149. 7:16اجي اسوي امبورت لهي الجزئيه اسويلها ما
  150. 7:18بين الكيرلي براكتس وبالتالي راح ارجع مثل
  151. 7:22ما كانت ويجي يقول له انه الاكسبورت راح
  152. 7:24يكون لهذا اللون انبوت كونتكست فراح يجي
  153. 7:27يقول له امبورت للشيء اللي اسمه لون انبوت
  154. 7:31كونتكست من وين من مجلد الكونتكت وتحديدا
  155. 7:35من الملف اللي اسمه لون فورم انبوت
  156. 7:37كونتكست انا الان بس سويتله امبورت لسه ما
  157. 7:39استخدمته كبرو فايدر اللي راح اسويه الان
  158. 7:43انا عندي هذا اللون فورم وخلينا نبدا مع
  159. 7:45هذا الانبوت تحديدا تبع النيم انا ما بدي
  160. 7:48ارسل ها البيانات كلها مباشره الى الماي
  161. 7:51كومبونت وبعدين يجي ياخذها الماي كومبونت
  162. 7:53ويروح يرسلي اياها الى الماي انبوت لا
  163. 7:55فانا راح اشيل كل البيانات اللي ارسلتها
  164. 7:58بهذا الشكل واجي يقول له شوف ترى هذا
  165. 8:01الكومبوننت راح يكون بداخل بروفايدر يحيط
  166. 8:06فيه يضمه الى داخله ويوفر له الاشياء اللي
  167. 8:10بيحتاجها وبالتالي بيجي بقول له بفتح قوس
  168. 8:13كاني عم اكتب كومبونت عادي وبيعتمد على
  169. 8:16اسم الكونتكس كانه الكونتكس هو عباره عن
  170. 8:19كومبونت لكنه في نهايه الامر ما هو
  171. 8:21كومبونت مرئي نفس اللي نحن بنعرفه فراح
  172. 8:23اكتب اسم الكونتكس اللي هو عباره عن اللون
  173. 8:27انبوت كونتكست طبعا انا سميته هون بالاس
  174. 8:30والمفروض انه هو كونتكست واحد لذلك خليني
  175. 8:33اصحح التسميه بس من باب اني امشي على
  176. 8:35الممارسات الصحيحه راح امسح الاس من هون
  177. 8:37وكذلك في التعريف راح اشيل ها الاس وكذلك
  178. 8:40في الاستخدام هون بالكمبوند ها الاس فبتحب
  179. 8:44بتت كونتكست وبقول له دوت بروفايدر بستدعي
  180. 8:48منه من داخله شيء اسمه بروفايدر اللي هو
  181. 8:51عباره عن مزود خدمه الكونتكت بعدين راح
  182. 8:54اسكر قوس الافتتاح وهون راح سكر لي هذا
  183. 8:57البروفايدر بس المفروض انا ما اسكره هون
  184. 9:00انا لازم اقوله انه هذا اللون انبوت
  185. 9:02كونتكس بروفايدر راح يحيط لي بهذا
  186. 9:05الكومبوننت بهذا الشكل وبالتالي اي شيء
  187. 9:08موجود بداخل البروفايدر راح يتعرف عليه
  188. 9:11الماي كومبونت طيب ايش الشيء الموجود
  189. 9:13بداخل البروفايدر حاليا ما في شيء موجود
  190. 9:16بداخل البروفايدر بس بقدر اقوللك انه نحنا
  191. 9:19هيك خلصنا الخطوه الاولى اللي هي انك تعرف
  192. 9:23او تبني هذا البروفايدر وتوفره لهذا الماي
  193. 9:26كومبونت الان خلينا نوفر القيمه قبل ما
  194. 9:29نبني الكسر اللي هي راح تكون الخطوه
  195. 9:31الثالثه طيب كيف بوفر القيمه في عندك
  196. 9:34اتربيوت لهذا الكومبوننت اللي دائما بيكون
  197. 9:37هو عباره عن البروفايدر ها الاتربيوت
  198. 9:40اسمها فو ها الفالو بتقدر تعبيها بالشيء
  199. 9:44اللي بدك اياه اللي راح يتم ارساله الى
  200. 9:48هذا الكومبوننت والى اي ابن مضمن بداخل
  201. 9:52التري تبع هذا الكومبوننت بمعنى اخر راح
  202. 9:55يتم ارساله لهذا الابن ولكل الاحفاد
  203. 9:58المندرين تحت هذا الابن فبت جي بداخلها
  204. 10:01بتحدد ايش الاشياء اللي بدك ترسلها طبعا
  205. 10:03لازم تفتح الكيرلي براكت اذا بدك تحط
  206. 10:05متغيرات او تكتب كود جافا سكريبت فهي
  207. 10:07الكيري براكتس تبع ايش مره ثانيه تبع الجي
  208. 10:09اس اكس ما هي تبع الاوبجكت بعدين بداخلها
  209. 10:12ممكن اقوله انا بدي يكون عندي اوبجيكت
  210. 10:14فهذا الاوبجكت راح يكون ايوكي اللي هو
  211. 10:16تايتل مثلا وهذا التايتل راح يكون مثلا
  212. 10:18هلو ورلد بهذا الشكل ايش معنى هذا الكلام
  213. 10:22معنى هذا الكلام انه الفالو اللي تم
  214. 10:24ارسالها في التايتل اي شيء بداخل الماي
  215. 10:28كومبونت هذا تحديدا وما يندرج تحته راح
  216. 10:33يكون قادر على الوصول الى هاي الهلو ورد
  217. 10:36لو سويت سيف الان ورجعت مره ثانيه لاحظ
  218. 10:38انه ما في عندي اي فرق مبدئيا طيب انا
  219. 10:41المفروض الان اني احاول استفيد من هاي
  220. 10:43الفالو انا سويت البروفايدر كونت ها
  221. 10:45الفالو والان ارسلتها بحيث انه اي شيء
  222. 10:49مندرج تحت الكومبوننت او الماي كومبونت
  223. 10:52والابناء الخاصه فيه فراح يكون قادر على
  224. 10:54الوصول الى التايتل فخليني اروح مباشره مو
  225. 10:57الى الماي كومبونت حتى الى الشيء اللي هو
  226. 11:01يندرج تحته اللي هو الماي انبوت راح اروح
  227. 11:04على الماي انبوت راح اروح على الماي انبوت
  228. 11:06ومن الماي انبوت هون بدي احاول اوصل لهذا
  229. 11:09التايتل اللي تم ارساله في البروفايدر
  230. 11:11وعشان اقدر اوصل له انا محتاج اني اعرف
  231. 11:15كونسيومر موجود عندي في الماي انبوت او
  232. 11:18الجزئيه اللي راح تستفيد من هذا الكونتكس
  233. 11:21طيب كيف انا بقدر اعرف الجزئيه اللي راح
  234. 11:24تستفيد من هذا الكونتكس نحنا عشان نبني
  235. 11:27الكونتكت رحنا استخدمنا داله موجوده في
  236. 11:30رياكت اسمها كريت كونتكست الان عشان
  237. 11:33نستخدم هذا الكونتكت ونوصل الى قيمه لازم
  238. 11:36استخدم داله اسمها يوز كونتكست من رياكت
  239. 11:40وبالتالي في المكان اللي بدي استخدم منه
  240. 11:42هذا الكونتكس وبروح بسوي امبورت هالمره مو
  241. 11:45لكر كونتكست وانما ليوز كونتكست فراح يجي
  242. 11:48يقول لله امبورت وبعدين بفتح قوسين وبقول
  243. 11:51لله تحديدا بدي اليوز كونتكست من رياكت
  244. 11:55اليوز كونتكست هي عباره عن هوك بنفس
  245. 11:58الطريقه هذا الهوك هو عباره عن فانكشن
  246. 12:00الهوكس في نهايه الامر في رياكت هي عباره
  247. 12:03عن مجموعه من الفيتشرز الاضافيه اللي بم
  248. 12:05توفيرها الك على شكل فانكشن احدها اليوز
  249. 12:09ستيت احدها اليوز كونتكست احدها الكريت
  250. 12:11كونتكست وراح نتعرف على هوكس اخرى مع مرور
  251. 12:14الوقت على حسب الاحتياج الان ها اليوز
  252. 12:16كونتكست هي الفنكشن اللي راح تساعدني عشان
  253. 12:19اوصل الى هذا اللون فورم انبوت كونتكست
  254. 12:22وبالتالي اللي بسويه اني ممكن اجي عند ها
  255. 12:25الفانكشن قبل الريتن واعرف متغير فراح
  256. 12:28اقول له كونست بعدين راح اسميه مثلا ماي
  257. 12:32كونتكست على سبيل المثال يساوي استدعاء ها
  258. 12:36الداله اللي اسمها يوز كونتكست فانا بروح
  259. 12:38وبستدعيك هذا الهوك اللي اسمه يوز كونتكست
  260. 12:41هذا الهوك المفروض انه يرجعلي القيم اللي
  261. 12:44انا محتاجها وبالتالي تصير محفوظه في هذا
  262. 12:47الاوبجكت تحديدا لكن لما بيكون في عندك
  263. 12:51مشروع كبير بيكون عندك اصلا عدد كبير من
  264. 12:54الكونتكس على حسب الاحتياج وبالتالي كيف
  265. 12:58بدها تعرف ال اللي اسمها يوز كونتكست اي
  266. 13:00كونتكست هو اللي قصدك عليه يعني انا ممكن
  267. 13:03يكون عندي لون فورم انبوت كونتكست وعندي
  268. 13:05شيء ثاني مثلا سميته يوزر بروفايل كونتكست
  269. 13:09عشان يوفر لي بيانات المستخدم وعندي شيء
  270. 13:11ثالث سميته ثيم كونتكست عشان يوفر لي ايش
  271. 13:15الثيم اللي اختاره المستخدم الى اخره
  272. 13:17وبالتالي لازم تحدد من خلال ها الداله ايش
  273. 13:20هو الكونتكس اللي قصدك عليه اللي بدك
  274. 13:21تستخدمه فلا يكفي اني اسوي امبورت للوز
  275. 13:24كونتكست هوك وانما كذلك لازم اسوي امبورت
  276. 13:27للكونكس نفسه اللي انا بنيته عشان احدد
  277. 13:29رياكت اي كونتكست هو اللي قصدي عليه فلذلك
  278. 13:32راح اجي اقول لله امبورت لون انبوت
  279. 13:36كونتكست فم كونتكست لون فور انبوت كونجي
  280. 13:40اس الان انا لازم استخدم هذا الكونتكس
  281. 13:42كايش كرامت لهي الفنكشن اللي اسمها يوز
  282. 13:45كونتكست عشان تعرف رياكت اي كونتكست هو
  283. 13:48اللي قصدي عليه فلو جيت الان وقلت له خذ
  284. 13:51لي هذا اللون انبوت كونتكست وهو يحطلي
  285. 13:53اياه ك بارامتر بعدين راح تجيني الفالو
  286. 13:56النهائيه في الماي كونتكست اللي راح اسويه
  287. 13:58اني راح جي يقوله كونول دوت لو بعدين راح
  288. 14:01اكتب ذا كونتكست وين هذا الملف اللي اسمه
  289. 14:05مايجي اس فراح يكون اسمه ماي انبوت دوت جي
  290. 14:10اس وبعدين راح اسوي كونسول لو مره ثانيه
  291. 14:13للماي كونتكست اللي انا استخرجته خليني
  292. 14:16اسوي سيف واشوف ايش النتيجه راح ارجع مره
  293. 14:18ثانيه خليني افتح الكونسول على اليسار راح
  294. 14:20اسوي ريفريش عشان اتاكد انه ما في اخطاء
  295. 14:22لاحظ ايش عم يقوللك اول
  296. 14:26شيجي اس رجعلي هذا اوجت اللي هو عباره عن
  297. 14:30الاوبجكت اللي فيه التايتل هلو ورد طبعا
  298. 14:33هو بستدعي لك اياها مرتين لسبب معين في
  299. 14:36بيئه الفلمنت ما راح اذكره حاليا بعدين اج
  300. 14:39مره ثانيه وكتبلي ذا كونتكست فم ماي انبوت
  301. 14:42از بعدين حطلي اوبجكت غريب وبيحتوي على
  302. 14:46نلز يعني كانه اوبجكت فاضي واجا مره ثالثه
  303. 14:49وسوال لي هذا الشيء اول شي السؤال الاساسي
  304. 14:52بغض النظر عن التكرارات الموجوده هون ليش
  305. 14:55سو لي ثلاث مرات سو لي ا ثلاث مرات لان
  306. 14:59انه هذا الماي انبوت دوت جي اس الكومبوننت
  307. 15:02اللي هون انا ما عم استخدمه مره واحده في
  308. 15:05اللون فورم وانما عم استخدمه ثلاث مرات
  309. 15:08مره للنيم مره للفون نمبر مره
  310. 15:12للايجار يستخدم هذا الكونتكس وصحيح اني في
  311. 15:15كل مره هو عباره عن كومبونت واحد من نفس
  312. 15:19الكومبوننت عم اقول لله روح جيب لي اللون
  313. 15:21انبوت كونتكست من استدعاء الداله اللي
  314. 15:24اسمها يوز كونتكست عشان تحفظلي اياهم في
  315. 15:26هذا المتغير لكن المره الوحيده اص اللي
  316. 15:29وفرت المتغيرات اللي بيحتاجها هذا الانبوت
  317. 15:32هي في الحاله تبع النيم والدليل لو رحت
  318. 15:35على اللون فورم لاحظ انا المره الوحيده
  319. 15:37اللي سويت فيها احاطه لهذا العنصر
  320. 15:41بالبروفا ايدر اللي هي بسميها الرابينج
  321. 15:43لاني حطيته بداخل البروفايدر فصار عنده
  322. 15:46امكانيه للوصول الى هذا الفالو اوبجكت ترى
  323. 15:48هي فقط في حاله الانبوت الاول لكن الماي
  324. 15:51كومبونت الثاني ما سويت له والماي كومبونت
  325. 15:53الثالث ما سويت له فلذلك الكومبوننت الاول
  326. 15:57هو اللي كان قادر على الوصول الى الكونت
  327. 15:59فالمفروض حتى الكومبوننت الثاني اني اغطيه
  328. 16:01بنفس الطريقه او اسوي له رابين او احاطه
  329. 16:03بهذا اللون انبوت كونتكست بروفايدر لكن
  330. 16:06اللي بيهمني الان لاحظ كيف تم ارسال
  331. 16:08الفالو من وين من اللون فورم الى الابن
  332. 16:11تبعه اللي هو الماي كومبونت بس الماي
  333. 16:13كومبونت ترى كل ها المتغيرات تبع البروبس
  334. 16:16ما عاد يحتاجها يعني انا ممكن اشيلها بس
  335. 16:18راح اخليها شوي بس وصلت حتى الى الحفيد
  336. 16:21مباشره اللي هي عباره عن التايتل الموجود
  337. 16:24في هذا الاوبجكت بدون ما احتاج ارسلها الى
  338. 16:26الابن والابن يروح يرسلها الىى الحفيد
  339. 16:28مباش مباشره ظهرت في التري على حسب المكان
  340. 16:30اللي بدك تستخدمها فيه وبالتالي هذا
  341. 16:32الاوبجكت خلاص الان بقدر اشكله بالطريقه
  342. 16:34اللي بدي اياها واحدد الاشياء اللي بدي
  343. 16:35ارسلها مثل ما حطيت تايتل ممكن اقول له
  344. 16:38مثلا نيم وهون بالنيم راح احط ترميز
  345. 16:42اكاديمي على سبيل المثال واسوي سيف وارجع
  346. 16:45مره ثانيه راح تلاحظ بالمره الثانيه انه
  347. 16:47طبع لي هذا الاوبجكت بكل البيانات
  348. 16:49الموجوده عندي ممتاز فالان انا اللي بقدر
  349. 16:52اسويه اني بدل ما ارسل التايتل وارسل
  350. 16:54النيم اقول له لا ارسل له المعلومات اللي
  351. 16:56هو مهتم فيها اللي هي عباره عن الو
  352. 16:59والهاند تينج فراح اجي يقوله انه الفالو
  353. 17:02راح تكون عباره عن الشيء الموجود عندي وين
  354. 17:06في اللون انبوت وبالتالي ها راح تكون لون
  355. 17:09انبوت دوت نيم والهاند تينج راح يكون
  356. 17:13عباره عن الفانكشن اللي اسمها هاندل نيم
  357. 17:16انبوت تينج طبعا هون لازم ما تكون يساوي
  358. 17:19هذا جيسون وبتالي لازم تكون كولون فالان
  359. 17:21هذول القيمتين راح يتم ارسالهم على انها
  360. 17:24فو وعلى انها هاندل تينج فانا بقدر الان
  361. 17:26اروح من الماي انبوت مباش شره بدون ما
  362. 17:29احتاج الوسيط اللي هو الماي كومبونت عشان
  363. 17:31يرسل لي المعلومات واجي اقول له انه
  364. 17:34الفالو ما راح اخذها من البروبس هالمره لا
  365. 17:37صار في عندي كانه متغير جلوبال بيوفر لي
  366. 17:40الاشياء اللي انا بحتاجها فكل البروبس
  367. 17:43الموجوده بالماي انبوت انا راح اشيلها
  368. 17:45وراح اجي يقول له هذا الماي انبوت راح
  369. 17:47يستخدم اللون انبوت كونتكست عشان يوصل
  370. 17:49للقيم اللي هو بيحتاجها بدل ما ارسلهم في
  371. 17:51البروبس وبالتالي اول شيء بالنسبه للفال
  372. 17:54هون راح اقول له روح لي على الماي كونتكست
  373. 17:57وهو اللي يستخرج لي من منه الفاليو طبعا
  374. 17:59هون الافضل اني ما اسميها باسم الي
  375. 18:01كونتكست وانما اكون محدد اكثر عشان توضح
  376. 18:03لي الشيء اللي بتسوي لي اياه فان راح
  377. 18:05اسميه باسم انبوت كونتكست بهذا الشكل
  378. 18:08وبعدين راح اقول له روح لي على الانبوت
  379. 18:12كونتكست وهو اللي استخرج لي منه الفالو
  380. 18:15طبعا انا مو قصدي هون وانما قصدي في هذا
  381. 18:19المكان ولما يصير في اي تغيير روح استدعي
  382. 18:21لي الفانكشن اللي اسمها هاندل تينج اللي
  383. 18:23هي جايتني من وين ما بدر استدعها بهذا
  384. 18:25الشكل مباشره لانه هي جايتني من البوت
  385. 18:27كونتكست فراح اقول له استدعي لي الانبوت
  386. 18:30كونتكست دوت هاندلينج بهذا الشكل طبعا لو
  387. 18:33سويت سيف الان ورجعت مره ثانيه طبيعي انه
  388. 18:35يطلع لك خطا لانه عم يقوللك الانبوت نيم
  389. 18:37not ديفاين وعم يقوللي كمان ان الانبوت
  390. 18:40كونتكست not ديفاين لاني عم استخدمه في
  391. 18:42اماكن اخرى بس الان خليني احل مشكله
  392. 18:44الانبوت نيم لذلك بنفس الطريقه اللي انا
  393. 18:47ارسلت فيها المتغيرات اللي بحتاجها في
  394. 18:49الكونتكس راح يجي من اللون فورم ققول لله
  395. 18:52مو بس وفرلي الفالو وال هاندل تينج وانما
  396. 18:54كذلك وفر لي شيء راح اسميه مثلا باللب
  397. 18:58تايتل على سبيل المثال وهذا راح يكون نيم
  398. 19:01وبعدين ها القيمه اللي راح يتم رميها
  399. 19:03خلينا نسميه او تمريرها من خلال التري
  400. 19:06اللي هي تبع الكومبوننت راح اروح لما اوصل
  401. 19:08عند الماي انبوت استفيد منها فراح اقول له
  402. 19:10بنفس الطريقه روح الى الانبوت كونتكست
  403. 19:14واستخرج لي منها الليبل تايتل خليني نتاكد
  404. 19:18اني سميتها ليبل تايتل بالفعل طبعا هون ها
  405. 19:20لازم ما تكون ماي كونتكست وانما انبوت
  406. 19:23كونتكست راح اشيل الكونسول لوج من هون
  407. 19:25وراح اسوي سيف وارجع مره ثانيه اشوف
  408. 19:27النتيجه خليني اجرب الان لو رحت عند
  409. 19:29الانبوت تبع النيم اول شيء ما طلع لي
  410. 19:31النيم هون لو كتبت عليه كذلك خليني نشوف
  411. 19:34هل هذا عم يحدث الستيت اساسا لو رحت على
  412. 19:37الكومبوننت لاحظ انه فعلا النيم تحدث بس
  413. 19:40خليني اشوف ليش الليبل ما طلع النيم تبعه
  414. 19:43لو رجعت مره ثانيه لاحظ اني كتبتها بطريقه
  415. 19:45خاطئه هي عباره عن ليبل تايتل بهذا الشكل
  416. 19:49لو رجعت لاحظ انه فعلا طلع لي النيم
  417. 19:51هالمره بالنسبه ل الانبوت الثانيه ما راح
  418. 19:53تشتغل معك بطريقه صحيحه حتى لو غيرت
  419. 19:56القيمه راح تلاحظ انه القيمه ما عم تتغير
  420. 19:58اصلا في الفون نمبر انبوت وهذا بسبب اني
  421. 20:01ما احطها بالكونكت بنفس الطريقه ووفرت لها
  422. 20:04البيانات اللي بتحتاجها فان ممكن ارجع مره
  423. 20:06ثاني عند اللون فورم وبنفس الطريقه اللي
  424. 20:08انا سويت فيها هذا الكونتكس اسويله نسخ
  425. 20:11وبالنسبه لل كومبونت الثاني اجي اسويله
  426. 20:13لصق واخليه يحيط بهذا الماي كومبونت ويوفر
  427. 20:17له الاشياء اللي بده اياها فهون راح يوفر
  428. 20:19له اللون انبوت دوت فون نمبر والهاند تينج
  429. 20:23راح تكون الهاندل فون نمبر انبوت تينج
  430. 20:27واليب تايتل راح يكون ع عاره عن الفون
  431. 20:30نمبر بهذا الشكل وبنفس الطريقه راح اخذ
  432. 20:33هذا البروفايدر تبع الليبل انبوت كونتكست
  433. 20:36واسويه بالنسبه للايدج بنفس الطريقه
  434. 20:39وبالتالي راح اخليه يحيط بهذا الكومبوننت
  435. 20:41عشان تصير الفالو اللي عم رسلها كبرو
  436. 20:45متاحه في هذا المكان طبعا اسم الفالو هون
  437. 20:47ترى مهم جدا ما بتقدر هون تتحكم بالاسم
  438. 20:50اللي بدك اياه ها ما هي كستم بروبرتي انت
  439. 20:52بتعرفها هي معرفه اصلا في هذا البروفايدر
  440. 20:54طيب ممتاز هون لازم اعدلها بنفس الطريقه
  441. 20:57اخليها ايج وبالنسبه للاندل تينج راح تكون
  442. 21:00هاندل ايج انبوت تينج والقيمه اللي راح
  443. 21:04يقرا منها هي عباره عن الايج لو سويت سيف
  444. 21:06الان ورجعت مره ثانيه لاحظ انه ارسل لي
  445. 21:09البيانات بطريقه صحيحه بالنسبه لليبل فون
  446. 21:11نمبر وكذلك الايج ولو عدلت على الايج مثلا
  447. 21:14راح تلاحظ انه فعليا عم يعدل لك على
  448. 21:16الستيت الموجوده عندك هون لو عدلت على
  449. 21:18الفون نمبر عم يعدلك على الستيت الموجوده
  450. 21:20هون بنفس الطريقه وبالتالي ممتاز ايش
  451. 21:23الفائده اللي استفدتها الفائده اللي
  452. 21:25استفدتها الان انه ها الببس اللي عم رسلها
  453. 21:28المايك كومبونت ترى انا بقدر اشيلها
  454. 21:30واتخلى عنها خلص ماني محتاج اني ارسل له
  455. 21:32بيانات بس عشان يكون وسيط ويروح يرسل لي
  456. 21:35اياها الى الماي انبوت فراح امسحها من كل
  457. 21:38الماي كومبونت اللي حطيتها بهذا الشكل
  458. 21:40وبعد ما مسحتها الان راح اروح على الماي
  459. 21:44كومبونت هذا وراح اشيل ها البروبس كلها
  460. 21:46خلاص انا ما عاد اعتمد على البروبس وانما
  461. 21:48عم معتمد على طريقه اخرى اللي هي عباره عن
  462. 21:50طريقه الكسوم ولاحظ انه ترى هذا الماي
  463. 21:54كومبونت اللي هو كان عباره عن وسيط عشان
  464. 21:56يوصل لي ها القييم انا مو بس مسحت البروبس
  465. 21:59انا حتى الماي كونتكست ترى هون ما بقرب
  466. 22:02عليه ماني محتاج استخدمه نعم هو عم يصير
  467. 22:04له باس ضمنيا لكني ماني محتاج اني استخدمه
  468. 22:08اساسا وراح اروح على الماي انبوت كذلك
  469. 22:10ولاحظ ان الماي انبوت كذلك تخلى عن
  470. 22:12البروبس لانه صار عم يوصل للمتغيرات اللي
  471. 22:14بيحتاجها من خلال اليوز كونتكست ولو سويت
  472. 22:17سيف الان راح تلاقي انه كل شيء شغال معك
  473. 22:19تمام بس الكود صار مرتب بطريقه افضل
  474. 22:22متناسبه بشكل اكبر مع طبيعه الاستركشر
  475. 22:26اللي انا سويته بحكم انه عندي ابن وهذا
  476. 22:29الابن بيحتوي على ابن فعندي ري ليفلز وفي
  477. 22:32نهايه الامر وفرت الكونتكس لكل المستويات
  478. 22:35بدون ما احتاج اني اسوي لهم باس عده مرات
  479. 22:37من خلال كتابه الكود عده مرات فهي هي
  480. 22:40الفكره الاساسيه من الكونتكت وهي حاله
  481. 22:42الاستخدام اللي وضحت لك اياها هي احد
  482. 22:44حالات الاستخدام اللي ممكن تستخدمها فيها
  483. 22:46وفي حالات استخدام اخرى منها اللي راح
  484. 22:49نتعرف عليها في الدرس الجاي لكن ملاحظه
  485. 22:51مهمه بشكل سريع قد يبدو الك انه الكونتكس
  486. 22:55بحل المشكله بنسبه 100% فتقول لنفسك خلص
  487. 22:58ليش ما استخدم الكونتكس دائما وابدا وما
  488. 23:01استخدم البروبس ابدا وهذا الشيء خاطئ لانه
  489. 23:04الكونتكس تر له سلبيات بشكل سريع انه مثلا
  490. 23:08راح يروح يحدث لك كل الكومبوننت اللي
  491. 23:10بالري بسبب انه عم يصير له باس لكل
  492. 23:13الكومبوننت اللي بال تري بمجرد ما تتغير
  493. 23:16قيمه معينه فلذلك الاصل انك ما تلجا
  494. 23:19للكونكس الا لما تحتاجه ولا اذا ما احتجته
  495. 23:22فممكن تعتمد على خيارات اخرى اللي على
  496. 23:24راسها ممكن يكون البروبس واحيانا حتى لو
  497. 23:27البروبس سبب لك مشاكل في طرق اخرى ممكن
  498. 23:29تتفاداها فيها احدها هو الكونتكت اللي
  499. 23:33اتمنى وصلتك فكرته في هذا الدرس بعرف ان
  500. 23:35موضوع الكونتكس شوي بيلخبط لكن مره ثانيه
  501. 23:38اذا جيت وطبقت بنفسك راح تبين معك
  502. 23:40المواضيع بشكل افضل اتمنى ان شاء الله انه
  503. 23:42كان الشرح واضح ونشوفكم ان شاء الله بدرس
  504. 23:44الجاي

About this transcript

This page contains the full transcript of 48 : Using (useContext) to Fix The Prop Drilling Issue by أكاديمية ترميز, generated from the public captions YouTube serves with the video. The transcript has 3,650 words across 504 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.