Bosh sahifa Wiki Redux

Redux

Redux — Den Abramov va Endryu Klark tomonidan 2015-yilda taqdim etilgan, JavaScript ilovalari uchun bashorat qilinadigan holat (state) boshqaruv kutubxonasi. U ko’pincha React bilan birga ishlatilsa-da, aslida u istalgan JavaScript freymvorki bilan mos ishlay oladi.

Flux arxitekturasidan ilhomlanishi

Redux Facebook’ning Flux arxitekturasi va Elm dasturlash tilining g’oyalaridan ilhomlanib yaratilgan. Flux ma’lumot oqimining faqat bitta yo’nalishda harakatlanishini talab qilgan, Redux esa bu g’oyani soddalashtirib, yagona markazlashgan holat ombori tushunchasi bilan birlashtirdi.

Yagona holat ombori tamoyili

Redux’ning markaziy g’oyasi — butun ilovaning holati bitta katta obyekt (store) ichida saqlanishi kerakligi. Bu yondashuv turli komponentlar orasida ma’lumot almashishni soddalashtiradi, chunki har qanday komponent bir xil markaziy manbadan ma’lumot o’qishi mumkin, alohida “props” zanjiri orqali uzatishga hojat qolmaydi.

Action va Reducer tushunchalari

Redux’da holatni to’g’ridan-to’g’ri o’zgartirib bo’lmaydi — buning o’rniga “action” deb ataladigan oddiy obyekt orqali nima sodir bo’lganligi e’lon qilinadi, so’ngra “reducer” deb ataladigan sof funksiya joriy holat va action asosida yangi holatni hisoblab chiqadi. Bu qat’iy struktura holat o’zgarishlarini bashorat qilinadigan va tekshirish oson qiladi.

React bilan integratsiya

Garchi Redux freymvorkdan mustaqil bo’lsa-da, u React bilan ayniqsa keng qo’llanilgan, chunki react-redux kutubxonasi komponentlarni Redux ombori bilan samarali bog’lash imkonini beradi. Bu birlashma 2015–2020 yillar oralig’ida yirik React ilovalarida deyarli standart amaliyot hisoblangan.

Zamonaviy alternativalar

So’nggi yillarda React‘ning o’zining useContext va useReducer kabi o’rnatilgan vositalari, shuningdek Zustand va Recoil kabi yengilroq kutubxonalar Redux’ning “boilerplate kod ko’pligi” degan tanqidiga javob sifatida mashhurlashdi. Shunga qaramay, Redux Toolkit kabi rasmiy vositalar Redux’ning o’zini ham soddalashtirib, uni hamon dolzarb tanlov sifatida saqlab turibdi.

Bog’liq tushunchalar

React, Holat boshqaruvi, Flux, O’zgarmaslik, Action, Reducer, Redux Toolkit