⊗jsrxPmBsCs 2 of 57 menu

Dvi pagrindinės Redux idėjos

Prieš pradėdami mokytis Redux bibliotekos, pažinkime dvi jos pagrindines idėjas. Pirmąją idėją, susijusią su būsenos valdymu, aptarsime paprasto skaitiklio pavyzdžiu naudojant React būseną:

function Counter() { // Būsena const [count, setCount] = useState(0) // Veiksmas: function clickHandler() { setCount(count + 1) } // Vaizdas: return ( <div> <span>{count}</span> <button onClick={clickHandler}>+</button> </div> ) }

Šiame kode matome būseną kintamajam count - tai yra tiesos šaltinis skaitikliui. Toliau matome veiksmą (action) - įvykį, kuris paspaudus vartotoją sukelia būsenos atnaujinimą. Ir galiausiai, vaizdą (view), kuriuo atvaizduojame vartotojo sąsają.

Taigi schema gana paprasta: mygtukas paspaudžiamas - būsena count (State) paspaudus (Action) pasikeičia, todėl pasikeičia vaizdas (View) - mūsų atveju tai skaičius ekrane.

Tačiau viskas bus sudėtingiau, jei turime daug komponentų, kurie turi naudoti tą pačią būseną. Galima, žinoma, pavyzdžiui pakelti būseną aukštyn į tėvinius komponentus, bet toks sprendimas ne visada gali išspręsti problemą. Redux šiuo atveju siūlo mums sukurti vieną vietą programoje, kuri talpintų globalią būseną ir tam tikrus elgesio modelius atnaujinant šią būseną. Būtent tame ir slypi pirmoji pagrindinė idėja (!).

Antroji idėja susijusi su nekintamumu, tai yra, su duomenų nepakitusia prigimtimi. Jūs, žinoma, prisimenate iš JavaScript, kad masyvus ir objektus galima keisti. Duomenų keitimas tiesiogiai Redux, kaip ir kituose karkasuose, laikomas blogu tonu ir gali sukelti nepnumatomas pasekmes. Todėl Redux mūsų pradiniai objektai ir masyvai turi išlikti nekintami, o keisti galime tik jų kopijas.

Papasakokite, ką reiškia pirmoji pagrindinė Redux idėja.

Papasakokite, ką reiškia antroji pagrindinė Redux idėja.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti