⊗jsrxPmBsCs 2 of 57 menu

Две основне идеје у Redux-у

Пре него што почнемо са изучавањем библиотеке Redux, упознајмо се са две њене основне идеје. Прву идеју, која се тиче управљања стањем, размотрићемо на примеру обичног бројача на стејту у React-у:

function Counter() { // Стање const [count, setCount] = useState(0) // Акција: function clickHandler() { setCount(count + 1) } // Приказ: return ( <div> <span>{count}</span> <button onClick={clickHandler}>+</button> </div> ) }

У овом коду видимо стејт за променљиву count - то је извор истине за бројач. Затим видимо дејство (action) - догађај, који при клику корисника покреће ажурирање стејта. И, на крају, приказ (view), којима приказујемо кориснички интерфејс.

Дакле, шема је прилично једноставна: дугме се притисне - стејт count (State) притиском (Action) се мења, самим тим мења се и приказ (View) - у нашем случају то је број на екрану.

Међутим, све ће бити сложеније ако имамо мноштво компонената које треба да користе исто стејт. Може се, наравно, на пример подизати стање до родитељских компонената, али такво решење не може увек решити проблем. Redux у том случају нуди нам да створимо једно место у апликацији, које би садржало глобално стање и одређене шаблоне понашања при ажурирању тог стања. Управо у томе и лежи прва основна идеја (!).

Друга идеја везана је за имутабилност, односно за непроменљивост података. Ви, наравно, сећате се из JavaScript-а, да низове и објекте можемо мењати. Директно мењање података у Redux-у, као и у другим оквирима сматра се лошим тоном и може довести до непредвидивих последица. Зато у Redux-у наши почетни објекти и низови треба да остану имутабилни, а мењати можемо само њихове копије.

Испричајте, у чему се састоји прва основна идеја Redux-а.

Испричајте, у чему се састоји друга основна идеја Redux-а.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј