⊗jsrxPmBsCs 2 of 57 menu

Dve základné myšlienky v Reduxe

Skôr než začneme so štúdiom knižnice Redux, zoznámime sa s jej dvoma základnými myšlienkami. Prvú myšlienku, týkajúcu sa riadenia stavu, si ukážeme na príklade obyčajného počítadla so stavom v Reacte:

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

V tomto kóde vidíme stav pre premennú count - to je zdroj pravdy pre počítadlo. Potom vidíme akciu (action) - udalosť, ktorá pri kliknutí používateľa spôsobí aktualizáciu stavu. A nakoniec, zobrazenie (view), pomocou ktorého zobrazujeme užívateľské rozhranie.

Schéma je teda celkom jednoduchá: tlačidlo sa stlačí - stav count (State) pri stlačení (Action) sa zmení, preto sa zmení zobrazenie (View) - v našom prípade je to číslo na obrazovke.

Avšak, všetko bude zložitejšie, ak máme množstvo komponentov, ktoré musia používať jeden a ten istý stav. Samozrejme, môžeme napríklad vyvýšiť stav do nadradených komponentov, ale takéto riešenie nie vždy môže vyriešiť problém. Redux v tomto prípade nám ponúka vytvoriť jedno miesto v aplikácii, ktoré by obsahovalo globálny stav a určité vzory správania pri aktualizácii tohto stavu. Práve v tom spočíva prvá základná myšlienka (!).

Druhá myšlienka súvisí s imutabilitou, teda s nemeniteľnosťou údajov. Vy, samozrejme, pamätáte z JavaScriptu, že polia a objekty je možné meniť. Zmena údajov priamo v Reduxe, rovnako ako v iných frameworkoch sa považuje za zlý štýl a môže viesť k nepredvídateľným dôsledkom. Preto v Reduxe naše pôvodné objekty a polia musia zostať imutabilné, a meniť môžeme len ich kópie.

Vysvetlite, v čom spočíva prvá základná myšlienka Reduxu.

Vysvetlite, v čom spočíva druhá základná myšlienka Reduxu.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť