REDUX
Redux — бібліотека управління станами для JavaScript додатків. Найчастіше її використовують із проєктами на React, але можна застосовувати також з повноцінними MVC JavaScript фреймворками, наприклад, Angular.
Редукс — обов’язкова частина web-додатку. Ця бібліотека потрібна, щоби зробити поведінку програми більш послідовною, організувати роботу компонентів у клієнтській, серверній та нативній частинах, а також спростити тестування. Її вигідно використовувати в складних проєктах, а також стартапи, які планується розвивати та масштабувати.
Redux — контейнер для зберігання станів, що полегшує організацію між компонентами програми. Коли компонентів, даних і зв’язків між ними в проєкті стає занадто багато, потрібно їх структурувати та зробити більш передбачуваними. Інакше розробники самі перестануть розуміти, що й де робить їхній код. Для цього і використовують Редакс — систему подій на основі Flux-архітектури. Тепер, коли всі стани зберігаються в одному місці, можна зробити так, що про зміни в одному з компонентів, дізнаються інші, яким потрібно про це знати. Причому отримують вони цю інформацію з контейнера redux, після того, як туди потраплять дані про зміни в першому компоненті. Редакс, як сховище, у цьому випадку захищає систему від помилок, які виникають, якщо не контролювати передачу станів.
На практиці, попри просту логіку, Redux набагато складніша система, і підходить вона не для всіх проєктів. Щоби можна було ефективно використовувати цю бібліотеку, додаток повинен зберігати свій стан у локальному сховищі, заповнювати його на сервері, передавати клієнтові як HTML і відповідати ще кільком технічним нюансам. Вам залишається тільки довіритися архітектору, який скаже, що для ваших завдань у додатку кращим рішенням буде таке, як поставити redux. Втім, він потрібен не завжди — його можна замінити простішими з технічної точки зору та універсальними готовими рішеннями або написати унікальний модуль, який буде робити те ж саме, але відповідно до логіки вашого проєкту.
Хоча логіка Redux досить проста, а сама бібліотека займе близько двох мегабайт пам’яті, виділеної для програми, використання цього сховища необов’язково. У простих додатках, які не будуть управляти подіями на стороні сервера в ній нема потреби, але створити складний і масштабний проєкт на React без неї буде дуже складно. Використання Редакс зробить систему більш стабільною й надійною, а головне значно полегшить масштабування web-додатку.