که تاسو د عکس العمل پراختیا کونکی یاست چې تراوسه یې د عکس العمل هکس په اړه ندي زده کړي ، اوس وخت دی. دا پوسټ به په تفصیل سره د تاثیر عکس العمل هک کارولو ته لاړ شي. دا د سویس د اردو چاقو سره مساوي هک دی. دا مختلف مسلې حل کوي ، لکه څنګه چې ډیټا ترلاسه کول کله چې یوه برخه پورته کیږي ، د کوډ چلولو څرنګوالی کله چې یو حالت یا پروپ بدلیږي ، د ټایمر یا وقفې تنظیم کولو څرنګوالی او داسې نور.
د کارولو اغیز د هر هغه څه لپاره کارول کیږي چې تاسو یې د عکس العمل برخې کې "کول" غواړئ چې JSX بیرته نه راوړي (هر ډول اړخیز اغیز). تاسو ممکن د هرې برخې ډیری کارونې اغیزې هم ولرئ.
دا ټول ځواک په لګښت راځي: پرته لدې چې تاسو پوهیږئ چې دا څنګه کار کوي، دا ممکن حیرانتیا وي. پدې پوسټ کې ، موږ به مختلف مثالونه وګورو ترڅو تاسو وکولی شئ مفکوره موډل ونیسئ او په خپل کوډ کې یې پلي کړئ.
عکس العملونه - دا د څه حل کولو هڅه کوي؟
هکس لومړی د React نسخه 16.8 کې معرفي شوي او اوس د ډیری React پروژو لخوا کارول کیږي. هکس د اجزاوو تر مینځ د کوډ تکرار ستونزه حل کوي. دوی د ټولګیو کارولو پرته لیکل شوي. دا پدې معنی نه ده چې عکس العمل ټولګي پریږدي؛ هکونه په ساده ډول یو بدیل میتود دی.
عکس العمل تاسو ته اجازه درکوي په چټکۍ سره د دولتي منطق سره پیچلي برخې رامینځته کړئ. دا ستونزمنه ده چې دا اجزا جلا کړئ ځکه چې ټولګي د عکس العمل ژوند کولو میتودونو باندې تکیه کوي. دا هغه ځای دی چې د عکس العمل هکس راځي.
دوی تاسو ته اجازه درکوي یوه برخه په کوچنیو دندو وویشئ. د دې پرځای چې کوډ په کوچنیو ټوټو ویشئ د ژوند دورې میتودونو پراساس ، تاسو اوس کولی شئ د فعالیت پراساس په کوچنیو واحدونو کې کوډ تنظیم او جلا کړئ.
د اغیزې هوک کارول څه شی دی؟
هکونه هغه دندې دي چې تاسو ته اجازه درکوي د ES6 ټولګیو لیکلو پرته دولت او نورو عکس العمل وړتیاو ته لاسرسی ومومئ. د عکس العمل هکس API یو هک لري چې د useEffect په نوم یادیږي. که تاسو د عکس العمل ژوند دورې سره آشنا یاست ، نو د کارونې اغیزې هک ورته دی componentDidMount, componentDidUpdate، او componentWillUnmount د ژوند دورې میتودونه ګډ.
د React Hooks اسنادو په وینا، دا د ES6 ټولګي برخې د ژوند دورې میتودونو سره د ځینو مسلو حل کولو لپاره رامینځته شوی.
سنټکس
لومړی دلیل د کال بیک فنکشن دی، کوم چې د هر رینډر وروسته د ډیفالټ لخوا اجرا کیږي. دوهم پیرامیټر د اختیاري انحصار سرې دی چې هک ته لارښوونه کوي چې یوازې د هدف حالت بدل شي.
هوک د هر انحصار تاریخي او اوسني حالتونه پرتله کوي. که دوه ارزښتونه سره سمون ونلري، هوک په لومړي پیرامیټر کې مشخص شوي کال بیک غوښتنه کوي. د انحصار صفونه د معمول کال بیک چلند بدلوي او تضمین کوي چې هک د برخې په ساحه کې نور ټول اجزا له پامه غورځوي.
بنسټیز کارول
د پیغام خوندي کولو لپاره، زه د پورته کوډ نمونې کې د React useState کاروم. له هغې وروسته، زه د خپل پیغام حالت متغیر واخلم او په سکرین کې یې چاپ کړم. په هرصورت، زه اوس غواړم د برخې نصبولو وروسته یوه ثانیه پیغام بدلولو لپاره اغیز وکاروم.
ما خپل تاثیر د React چوکاټ څخه د UseEffect واردولو وروسته د UseState لاین شاته داخل کړ. د تاثیر کارولو لپاره لومړی پیرامیټر یو فنکشن دی. کله چې دا فنکشن سمبالونکی اجرا شي، دا به د هر اړخیزو اغیزو پاملرنه وکړي چې تاسو یې چمتو کوئ. فنکشن د کال بیک فنکشن دی چې ویل کیږي کله چې د عکس العمل اجزا د ژوند دورې پیښې پیښیږي.
کله یې باید وکاروو؟
د کارولو اغیزې هک ممکن په مختلف حالتونو کې ګټور وي. لاندې خورا مهم دي:
- موږ کولی شو دا پیرامیټر د پیرودونکي اړخ څخه بدل کړو کله چې موږ غواړو د چمتو شوي دلیل پراساس ډیټا ترلاسه کړو. دا به وروسته له هغه یاد شي چې پیرامیټر د تازه معلوماتو سره تازه شوی.
- که موږ غواړو د API پای نقطې څخه ډاټا بیرته ترلاسه کړو او د پیرودونکي اړخ ته یې وښیو. کله چې زموږ اجزا وړاندې کیږي، د UseEffect هوک ته ورکړل شوی فنکشن یا هینډلر اجرا کیږي، او د اجزاو حالتونو کې ډاټا بیرته اخیستل کیږي. دا حالتونه بیا د کارن انٹرفیس برخو کې ګمارل کیږي.
- کله چې ستاسو برخه د بهرنۍ نړۍ څخه ډاټا باندې تکیه کوي او موږ نشو کولی ډاډ ترلاسه کړو چې ډاټا به راشي، موږ باید تاثیر وکاروو (شاید سرور هلته ښکته وي). د دې پرځای چې ستونزې راوباسي او د نورو برخو د ښودلو مخه ونیسي ، دوی د کارولو اغیزې هک کې ځای په ځای کړئ.
د قضیې کارول
که اجزا د لومړي چلولو وروسته بیا رینډر شي، دا به اجرا نشي.
هرکله چې یوه برخه رینډر یا رینډر کیږي، دا باید تل اجرا شي.
په ډیفالټ ، برنامه یوازې یو ځل پرمخ ځي. وروسته، که د پروپ ارزښتونه بدل شي، چل کړئ:
د غیر متناسب فعالیتونو لپاره ، تل د useEffect وکاروئ.
د کارولو اغیزې کوډ بلاکونه ستاسو د ملګري پراختیا کونکو لپاره د غیر متناسب کارونو څرګند نښه کونکي دي. دا ممکنه ده چې د کارولو اغیزې کارولو پرته غیر متناسب کوډ رامینځته کړئ ، مګر دا د "رد عمل میتود" ندی او دا دواړه پیچلتیا او د خطا خطر زیاتوي.
د اسینکرونس کوډ لیکلو پرځای د UseEffect کارول چې ممکن د UI مخه ونیسي د عکس العمل ټولنه کې یو پیژندل شوی تخنیک دی ، په ځانګړي توګه هغه لاره چې د عکس العمل ټیم دا د اړخ اغیزې ترسره کولو لپاره رامینځته کړی.
د دې کارولو بله ګټه دا ده چې پراختیا کونکي کولی شي په ساده ډول کوډ بیاکتنه وکړي او سمدلاسه کوډ کشف کړي چې د "کنټرول جریان بهر" پرمخ وړل کیږي ، کوم چې یوازې د لومړي رینډر دورې وروسته مهم کیږي. سربیره پردې، بلاکونه د بیا کارونې وړ او حتی ډیر سیمانټیک دودیز هکسونو کې د استخراج لپاره مناسب دي.
یو مثال
د کارولو اغیزې کوډ په کارولو سره، په هره ثانیه کې یو شمیر زیات کړئ.
پایله
زما په نظر د کارونې اغیزې هوک د اصلي ډیزاین اصولو او غوره عملونو پوهیدل ، زما په نظر ، د زده کړې لپاره یو مهم مهارت دی که تاسو غواړئ د راتلونکي کچې عکس العمل پراختیا کونکی شئ.
د لنډیز کولو لپاره، د کارولو اغیز هوک یو فنکشن ترلاسه کوي چې پکې اړین، احتمالي اغیز بشپړ منطق شامل دی. د انحصار صف، کوم چې دویم پیرامیټر دی، د اجرا کولو اغیزه کولو لپاره کارول کیدی شي. د دې سره معامله کولو پرمهال ، دا هم اړینه ده چې د بیرته راستنیدو فنکشن په کارولو سره د پاکولو کوډ ولیکئ.
راځئ چې په نظرونو کې پوه شو که مقاله ګټوره وه.
یو ځواب ورکړئ ووځي