⊗jsrxPmBsCs 2 of 57 menu

Redux-də iki əsas ideya

Redux kitabxanasını öyrənməyə başlamazdan əvvəl, gəlin onun iki əsas ideyası ilə tanış olaq. Vəziyyətin idarə edilməsi ilə bağlı birinci ideyanı biz React-də adi bir sayğac nümunəsində nəzərdən keçirəcəyik:

function Counter() { // State const [count, setCount] = useState(0) // Action: function clickHandler() { setCount(count + 1) } // View: return ( <div> <span>{count}</span> <button onClick={clickHandler}>+</button> </div> ) }

Bu kodda biz count dəyişəni üçün state görürük - bu, sayğac üçün həqiqət mənbəyidir. Sonra biz hərəkət (action) görürük - bu, istifadəçinin klikləməsi ilə state-in yenilənməsini təhrik edən hadisədir. Və nəhayət, təsvir (view), onun köməyi ilə biz istifadəçi interfeysini göstəririk.

Beləliklə, sxem kifayət qədər sadədir: düymə basılır - count state-i (State) basılış (Action) nəticəsində dəyişir, nəticədə təsvir (View) dəyişir - bizim vəziyyətimizdə bu, ekrandakı rəqəmdir.

Lakin, əgər bizim eyni state-dən istifadə etməli olan çoxsaylı komponentlərimiz varsa, hər şey daha mürəkkəb olacaq. Əlbəttə ki, məsələn, state-i valideyn komponentlərə qaldırmaq olar, amma belə bir həll həmişə problemi aradan qaldıra bilməz. Bu halda Redux bizə tətbiqdə qlobal state-i ehtiva edən bir yer yaratmağı və bu state yeniləndikdə müəyyən davranış modellərini təklif edir. Məhz bunda birinci əsas ideya (!) öz ifadəsini tapır.

İkinci ideya dəyişilməzlik, yəni məlumatların dəyişdirilməməsi ilə bağlıdır. Əlbəttə ki, JavaScript-dən xatırlayırsınız ki, massivlər və obyektlər dəyişdirilə bilər. Məlumatların birbaşa dəyişdirilməsi Redux-da, digər freymvorklarda olduğu kimi, pis üslub sayılır və gözlənilməz nəticələrə gətirib çıxara bilər. Buna görə də Redux-da bizim ilkin obyektlər və massivlər dəyişilməz qalmalıdır, və biz onların yalnız kopyalarını dəyişə bilərik.

Redux-un birinci əsas ideyasının nədən ibarət olduğunu izah edin.

Redux-un ikinci əsas ideyasının nədən ibarət olduğunu izah edin.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et