Bevezetés a Redux alternatíváiba

A Redux egy JavaScript könyvtár, amely nyílt forrású. Az alkalmazás állapotának kezelésére szolgál. A Reduxot legtöbbször más javascript könyvtárakkal, például a React és az Angular használják felhasználói felületek készítéséhez. A Redux állammenedzsment eszközként értelmezhető. Annak ellenére, hogy ezt a leggyakrabban a React használatával használják, bármilyen JavaScript-kerethez vagy annak könyvtárához alkalmas. Nagyon könnyű, csak 2KB-os. Bármely JavaScript alapú alkalmazás esetén az államkezelés rendetlenné válik, amikor az alkalmazás mérete növekszik, vagy az alkalmazás összetettebbé válik, és így szükségünk van egy olyan állami felügyeleti eszközre, mint például a Redux az ilyen állapotok fenntartásához.

A Redux nagyszerű eszköz, és fontossága nyilvánvaló az a tény, hogy teljesen megváltoztatta a front-end alkalmazások architektúráját. A Redux nagyszerű eszköz lehet új munkát kereső személyek elsajátításához, mert érdekes ajánlatokat kínál az Angular és mások különféle verzióival. A React és Redux kombináció különösen fontos a munkalehetőségek szempontjából.

Meghatározás Redux

A Redux működési elve meglehetősen egyszerű és érthető. A Redux központi raktárnak tekinthető, amely az alkalmazás teljes állapotát tárolja. Mindegyik alkotóeleme hozzáférhet az adott tárolt állapothoz anélkül, hogy tulajdonságot kellene kültenie az egyik összetevőről a másikra.

A redux három építőeleme van: akció, tároló és reduktor.

1. Műveletek

Ez nem más, mint események. Ezek az adatok küldhetik az alkalmazásból a Redux áruházba. Az adatok felhasználói interakciókból vagy API hívásokból vagy űrlap benyújtásból származnak.

2. Reduktorok

Ez nem más, mint tiszta funkció, amely az alkalmazás jelenlegi állapotának átvétele után elvégzi az adott műveletet, majd új állapotot ad vissza. Ezeket az állapotokat később objektumokként tárolják, és meghatározzák azt is, hogy a kiválasztott alkalmazás állapota hogyan változik a boltba küldött művelet válaszával.

3. Tárolja

A bolt, amely a tervezés lényege, megtartja az alkalmazás állapotát. Bármely Redux alkalmazásban csak egy üzlet lehet. Hozzáférhet a tárolt állapothoz, frissítheti állapotát, majd regisztrálhatja vagy törölheti a hallgatókat a rendelkezésre álló segítő módszerekkel.

A Redux nagyszerű, de van néhány probléma a Redux használatával:

  • A reduktorokkal való munkaváltás nehézségei: - A reduxel való működéshez gondot kell fordítani a funkcionális programozási alapelvekre, és mindig új értéket kell visszaadniuk a korábbi alkalmazásállapotok alapján. Időnként ez könnyű lehet, például egyszerű karakterláncok vagy objektumok kezelése vagy egyszerű tömbműveletek kezelése, de a feladat összetettségének növekedésével jobb ötlet valószínűleg az Immvable.json használata a hasonló könyvtárból.
  • Ne ismételje meg önmagát vagy a SZÁRÍTÁS elv: - A Redux-nal történő munkavégzéshez bizonyos konvenciók betartása szükséges, például a művelet típusok létrehozása vagy a művelet készítői, valamint a redukciók létrehozása. Hasonló logikai okokból, mint például a CRUD műveletek, a Redux kód valójában nagyon hasonlónak tűnik. Ilyen esetekben a kis funkcionalitás hozzáadásához sok redux logikát és tesztelési esetet kell hozzáadni. Ennélfogva jobb ötlet az lenne, ha átgondolnánk a DRY szabályt vagy azt.
  • Érdemes az előadásokról: - Végül az, ami igazán számít, az előadás. A fejlesztők általában inkább azt szeretnék, ha egyetlen igazságforrás lenne, amelynek karbantartása nem egyszerű, hanem hibakeresés és tesztelés is, így a redux nem felel meg ennek. Reduxban még egy kis változás is kiválthatja a DOM szerkezetének változásait.

A Redux alternatívák listája

Az alábbiakban bemutatjuk a Redux fő alternatíváit, amelyek a következők:

1. MobX

Ez egy új könyvtár, amely sok megoldást kínál a fent említett problémákra. 3 ponton működik, és ezek állapot, származékok és műveletek. A MobX használatával a szinkronizálás a modellek és az felhasználói felület között automatikusan megtörténik. A MobX segítségével az OOP és néhány módszer közvetlenül a modellek elemére is felhasználható. Az objektumok normalizálása szintén nem szükséges, de a Redux áruházban szükség van rá.

2. GraphQL

A Relay & GraphQL verem valójában viszonylag régi, de nem olyan népszerű, mint a Redux. Ezt a Facebook fejlesztette ki, és amikor jött, azt az adatvezérelt reagálású alkalmazások felépítésének keretének nevezték. A Relé és a GraphQL használatának számos egyedi előnye van. Közülük a legnagyobb az, hogy nem kell előzetes szemlélettel emlékezni arra, hogyan lehet adatokat letölteni a szükséges válasz eléréséhez.

3. Felszerelés

Ez általában egy olyan megoldás, amely nem akarja használni a MobX-ot, de a tiszta Redux szintén nem vonzza őt. A jumpsuit egy olyan keret, amely Reduxon alapul, és automatikusvá teszi az áramlást. Azok számára, akik nem szeretik az alkalmazás létrehozását a semmiből (ami sok csomag hozzáadását és konfigurálását jelenti), akkor a Jumpsuit megfelelő. Egyszerűsített API réteget biztosít mind a React, mind a Redux számára.

4. Segédek / generátorok a hagyományos redux.js verzióval

Az egyik legnagyobb probléma, amelyet fel lehet ismerni a Redux alkalmazással, az, hogy sok kódmásolatot tartalmaz, azaz nem követi a SZÁRÍTÁS elvét. A hagyományos-redux.js megközelítést követi e tekintetben a munkafolyamat egyszerűsítése érdekében.

A Jumpsuit, a konvencionális-redux.js és még sok más ilyen eszköz a Redux munkafolyamatának javítására összpontosít. Ezeket az előnyben részesített lehetőségeket választják azok számára, akik ismerik a Reduxot és megértik annak hibáit. Ezek azok, akik valószínűleg sok adatot vagy állami logikai anyagot készítettek és nem igazán akarják újra és újraírni, vagy több erőfeszítés ezen készségek megtanulására.

Másrészt, a MobX és a Relay & GraphQL kívül esnek a Redux veremben. A MobX nagyon könnyű megtanulni. Ez akkor ajánlott, ha valaki nagyon gyorsan szeretne írni a semmiből. Ezzel szemben a GraphQL-nek sok időre van szüksége ahhoz, hogy felépítse a háttér-adatfolyam-logikát. De miután megtörtént, a frontális megvalósítás sokkal könnyebbé válik.

A Redux alternatívák összehasonlító táblázata

Jellemzők

Redux MobX GraphQL

kezeslábas

SZÁRÍTÁS elveNemIgenIgenIgen
bonyodalomMagasAlacsonyKözepesKözepes
Tanulási görbeMagasAlacsonyKözepesAlacsony
AlkalmazásAlkalmas egyszerű alkalmazásraKomplex alkalmazásra alkalmasAlkalmas közepes méretű alkalmazásokhozKomplex alkalmazásra alkalmas

Ajánlott cikkek

Ez egy útmutató a Redux alternatívákról. Itt megvitattuk a 4 legfontosabb Redux-alternatívát összehasonlító táblázatukkal. A következő cikkben további információkat is megnézhet -

  1. Linux alternatívák
  2. Ubuntu alternatívák
  3. WordPress alternatívák
  4. Git Alternatívák

Kategória: