Вступ до альтернатив Redux

Redux - це бібліотека JavaScript з відкритим кодом. Він використовується для управління станом програми. Redux використовується в більшості випадків з іншими бібліотеками javascript, такими як React і Angular, для створення користувальницьких інтерфейсів. Redux можна розуміти як інструмент управління державою. Незважаючи на те, що він найчастіше використовується в React, він підходить для будь-якого сценарію JavaScript або його бібліотеки. Це дуже легкий розмір лише 2 КБ. Для будь-якого додатка на основі JavaScript, управління державою стає безладним, коли розмір додатка збільшується або додаток стає складнішим, і тому нам потрібен інструмент управління державою, такий як Redux, щоб підтримувати ці стани.

Redux - чудовий інструмент, і його важливість очевидна тим, що він повністю змінив архітектуру прикладних додатків. Redux може бути чудовим інструментом для освоєння тих, хто шукає нову роботу, оскільки він пропонує цікаві пропозиції з різними версіями Angular та іншими. Комбінація React & Redux особливо важлива для перспектив роботи.

Визначення Redux

Принцип роботи Redux досить простий і простий. Redux можна розглядати як центральний магазин, який містить весь стан програми. Кожен з його компонентів може отримати доступ до заданого збереженого стану, не вимагаючи надсилання властивостей з одного компонента на інший.

Є три складових блоку зведення: дії, зберігання та редуктори.

1. Дії

Це не що інше, як події. Вони є способом надсилання даних із програми в магазин Redux. Дані надходять із взаємодії користувачів або дзвінків API чи подання форми.

2. Редуктори

Це не що інше, як чисті функції, які після прийняття поточного стану програми виконують задану дію і потім повертають новий стан. Ці стани згодом зберігаються як об'єкти, і вони також вказують, як змінюється стан вибраної програми із відповіддю від дії, що надсилається в магазин.

3. Зберігати

Магазин, який є ядром дизайну, містить стан заявки. У будь-якому додатку Redux може бути лише один магазин. Можна отримати доступ до збереженого стану та оновити його стан, а потім зареєструвати або скасувати реєстрацію слухачів за допомогою доступних допоміжних методів.

Redux - це чудово, але є деякі проблеми з використанням Redux:

  • Складність переходу на роботу з редукторами: - Щоб мати можливість працювати зі скороченням, потрібно дбати про принципи функціонального програмування та завжди повертати нове значення, виходячи з попереднього стану програми. Іноді це може бути просто, наприклад, обробка простих рядків або об'єктів або прості операції з масивом, але, оскільки складність завдання збільшується, кращою ідеєю буде, мабуть, використання Immutable.json з подібної бібліотеки.
  • Не повторюйте себе чи принципу DRY: - Для роботи з Redux потрібно дотримуватися певних конвенцій, таких як створення типів дій або творців дій, а також редукторів. Для подібної логіки, таких як операції CRUD, код Redux насправді може виглядати дуже схожим. Додавання невеликих функціональних можливостей у таких випадках потребує додавання багато логіки скорочення та тестів. Таким чином, кращою ідеєю було б подумати про рефакторинг або дотримання правила DRY.
  • Дбайте про виступи: - Зрештою, що насправді важливо, це виступ. Зазвичай розробники воліють мати єдине джерело істини, яке не тільки просте в обслуговуванні, але й налагодження та тестування, а значить, скорочення не відповідає цьому. У Redux навіть невелика зміна може спричинити зміни в структурі DOM.

Список альтернатив Redux

Нижче наведено основні альтернативи Redux, які є наступними:

1. MobX

Це нова бібліотека, яка пропонує безліч рішень для вищезазначених проблем. Він працює на 3 пункти, і вони є станом, виведенням і діями. За допомогою MobX синхронізація між моделями та інтерфейсом може здійснюватися автоматично. У MobX можна використовувати OOP та деякі методи безпосередньо на елементах моделей. Нормалізація об'єктів також не потрібна, але в магазині Redux вона потрібна.

2. GraphQL

Стек Relay & GraphQL насправді порівняно старий, але не такий популярний, як Redux. Він розроблений Facebook, і коли він з'явився, його описали як основу для побудови реагуючих на реагування додатків. Існує багато унікальних переваг використання реле з GraphQL. Найбільшим серед них є те, що не потрібно пам’ятати з інтерфейсу про те, як отримати дані, щоб отримати необхідну відповідь.

3. Комбінезон

Зазвичай це рішення для тих, хто не хоче використовувати MobX, але чистий Redux також не подобається йому / їй. Комбінезон - це основа, заснована на Redux, і це робить потік більш автоматичним. Для тих, хто не любить будувати додаток з нуля (це означає додавання та налаштування багатьох пакетів), тоді комбінезон підходить саме їм. Це дає спрощений шар API як для React, так і для Redux.

4. Помічники / генератори зі звичайними redux.js

Однією з найбільших проблем, яку можна розпізнати за допомогою програми Redux, є те, що у неї багато дублювання коду, тобто воно не відповідає принципу DRY. Звичайний-redux.js - це підхід, який слід дотримуватися в цьому плані, щоб спростити робочий процес.

Комбінезон, звичайний-redux.js та багато інших таких інструментів фокусуються на покращенні робочого процесу Redux. Це кращий вибір для тих, хто знайомий з Redux і розуміє його додаткові та мінуси. Це ті люди, які, ймовірно, підготували багато даних або загальнодержавних логічних речей і не дуже хочуть переписувати це знову і знову або поставив більше зусиль у вивченні цих навичок.

З іншого боку, MobX та Relay & GraphQL знаходяться поза стеком Redux. MobX дуже легко вивчити. Це рекомендується, якщо хтось хоче писати з нуля дуже швидко. GraphQL, навпаки, потребує багато часу, щоб мати змогу будувати логіку потоку даних за заднім числом. Але як тільки це буде зроблено, побудова фронтальної реалізації стає набагато простішою.

Таблиця порівняння альтернатив Redux

Особливості

Редукс MobX GraphQL

Комбінезон

ДРУГИЙ принципНіТакТакТак
УскладненняВисокийНизькийСереднійСередній
Крива навчанняВисокийНизькийСереднійНизький
ЗастосуванняПідходить для простого застосуванняПідходить для складного застосуванняПідходить для середніх розмірівПідходить для складного застосування

Рекомендовані статті

Це було керівництвом щодо альтернатив Redux. Тут ми обговорили чотири найкращих альтернативи Redux із таблицею їх порівняння. Ви також можете переглянути наступну статтю, щоб дізнатися більше -

  1. Альтернативи Linux
  2. Альтернативи Ubuntu
  3. Альтернативи WordPress
  4. Git Альтернативи