Писал приложения на React примерно год. Язык был JavaScript (в смысле не TypeScript), использовал Redux.
Начиная с лета 2019 полностью переключился на TypeScript и Vue, но такие факты как задержка релиза Vue 3 на пару лет (статьи о том, что он якобы реализован не имеют отношения к реальности) вызывали разочарования как у меня, так и во многих компаниях, а потому я возвращаюсь на React, только теперь писать приложения буду уже на TypeScript.
Я бы хотел узнать у опытных React-разработчиков, какой инструментарий актуален на момент лета 2021 и какие аналоги решений для Vue есть в React.
1. Аналоги vue-properties-decorators
Поддержка ООП-синтаксиса в React есть их коробки, но есть ли библиотеки наподобие
vue-property-decorator, ещё более упрощающие работу с классами, состоянием и свойствами?
Насколько мне известно, пока я писал на Vue, в React появились т. н. хуки. Я могу ошибаться, но с позиции моего текущего опыта мне показалось, что своим существованием хуки обязаны начинающим разработчикам, которые не хотят изучать ООП. Поэтому я планирую продолжать писать компоненты на основе классов и перейду на хуки только если они действительно дают много того, чего не могут дать классы.
2. Аналоги для vuex-module-decorators для Redux или замена Redux
Когда использовал чистый Redux, то процентов 50 времени уходило на рутину по созданию файлов, объявлению экшенов, немутирующему обновлению состояния, привязки и так далее. Когда я перешёл на Vue+Vuex, да ещё и стал использовать
vuex-module-decorators, это было нечто великолепное - рутины стало в РАЗЫ меньше!
С использованием динамических модулей можно вообще хранить классы где угодно и эффект такой, как будто модуль полностью независим от stor-a (полезно для случаев, когда создаётся какой-нибудь компонент и в одной папке сложены его разметка, стили, vue-компонент и сервисный класс, реализованный с использованием vuex-module-decorators).
Есть ли инструменты, которые облегчат работу с Redux на уровне vuex-module-decorators?
Или может, мне лучше взглянуть в сторону аналогов Redux, например Mobx?
Напоследок, попрошу Вас дать порекомендовать любые библиотеки для React, от использования которых Вы получили положительные впечатления - посмотрю их все.