⊗jsrxPmBsCs 2 of 57 menu

Dy Ide Bazë në Redux

Para se të fillojmë të studiojmë bibliotekën Redux, le të njihemi me dy idetë e saj bazë. Idenë e parë, që ka të bëjë me menaxhimin e gjendjes, do e shqyrtojmë me shembullin e një numëruesi të zakonshëm në state në React:

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> ) }

Në këtë kod ne shohim state për variablin count - ky është burimi i së vërtetës për numëruesin. Pastaj shohim veprim (action) - një ngjarje, e cila me klikimin e përdoruesit shkakton përditësimin e state. Dhe, së fundi, pamje (view), me të cilën ne shfaqim ndërfaqen e përdoruesit.

Kështu që skema është mjaft e thjeshtë: butoni shtypet - state count (State) me shtypjen (Action) ndryshon, prandaj ndryshon pamja (View) - në rastin tonë ky është numri në ekran.

Megjithatë, gjithçka do të jetë më e ndërlikuar nëse kemi shumë komponentë, të cilët duhet të përdorin të njëjtin state. Mundet, sigurisht, për shembull të ngrejmë state te komponentët prind, por një zgjidhje e tillë nuk mund gjithmonë të na çlirojë nga problemi. Redux në këtë rast na ofron të krijojmë një vend të vetëm në aplikacion, që do të përmbante gjendjen globale dhe modele të caktuara sjelljeje kur përditësohet kjo gjendje. Pikërisht kjo është ideja e parë bazë (!).

Idea e dytë lidhet me imutabilitetin, domethënë me pandryshueshmërinë e të dhënave. Ju, sigurisht, mbani mend nga JavaScript, se vargjet dhe objektet mund të ndryshohen. Ndryshimi i të dhënave direkt në Redux, si dhe në korniza të tjera konsiderohet si praktikë e keqe dhe mund të çojë në pasoja të paparashikueshme. Prandaj në Redux objektet dhe vargjet tona fillestare duhet të mbeten imutabile, ndryshimin mund t'i bëjmë vetëm kopjeve të tyre.

Shpjegoni, në çfarë konsiston ideja e parë bazë e Redux.

Shpjegoni, në çfarë konsiston ideja e dytë bazë e Redux.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo