Pull to refresh

Comments 18

999-я по счету попытка использовать контекст как стейт-манагер... Эта идея не покидает умы, хотя давно опровергнута.

В свою очередь, распределенное состояние условно также можно разделить на 2 вида:

1) совместно размещенное/co-located: такое состояние является общим для группы автономных, т.е. не находящихся в отношениях предок-потомок/parent-child, компонентов (useContext/useReducer; в качестве примера библиотеки, реализующей такой подход, можно назвать Recoil);
2) глобальное/global — такое состояние является общим для всего приложения (Redux).

По сути одно и то же. В обоих случаях данные лежат в контексте.

Мда… Очередная лютая дичь, всё что угодно готовы выдумывать лишь бы очередную вредную статейку на хабре опубликовать, из разряда как делать категорически нельзя, вместо того чтобы просто взять MobX в связку к React и забыть о головной боли навсегда.

да, да, давайте перестанем изобретать велосипеды, ведь все уже изобретено. Давайте будет затыкать рты тем кто пытается что-то изобретать. Ведь ничего лучше никогда чем Redux или MOBX уже изобрести нельзя. Все паттерны открыты, все архитектуры уже созданы. Все, изучай и делай и не изобретай велосипедов.

Изобретать велосипед имеет смысл, лишь когда у тебя есть либо радикально новая идея, либо идеи по улучшению существующих реализаций, но нет возможноости их улучшить. В данном же случае мы видим скорее попытку прикрутить к велосипеду с квадратными колёсами пружинки на ободе, чтобы не так сильно стучало по мозгам.

$mol это радикально новая идея или улучшение?)

иногда проще заново изобрести велосипед (типа "Школьник", "Аист" и тд), который будет работать в необходимых для того условиях (пару раз в десять лет выехать на нём), нежели брать монструозный спортивный велосипед с десятком скоростей за 100500 $.
Так и тут, локальное решение, умещенное в пределы данной части проекта, оправдает себя лучше, нежели тащить весь Redux/Mobx в целый проект

Либо можно взять микромодульный фреймворк, с которым не приходится платить за то, что не используешь.

Так и тут, локальное решение, умещенное в пределы данной части проекта, оправдает себя лучше, нежели тащить весь Redux/Mobx в целый проект

Что за глупости? Тащить? Вы что тащите прицеп 10 тонный который замедляет время загрузки на 5-10 секунд и к размеру бандла 5-10mb добавляет?

Ну, mobx действительно великоват. Есть более компактные альтернативы.

Изобретать велосипед имеет смысл, лишь когда ...

Очень иронично это читать от nin-jin, автора бесчисленного числа велосипедов :)

Дело не в этом, велосипеды это хорошо, но при условии что они реально лучше/удобнее того, что есть сейчас. А реальность такова, в JS есть getters/setters и Proxy и решение построенное на них — является безальтернативно лучшим, всё остальное не использует это, поэтому сразу же очень сильно проигрывает. Т.е. если решение для стейт менеджера не использует getters/setters — то оно автоматически провальное и кривое. Поэтому MobX сейчас единственное и безальтернативное решения для React т.к. построено на основе getters/setters и Proxy.

Считаю, что любой велосипед — это хорошо. Не важно, лучше он или нет. Автор потратил свое время на изобретение. Возможно он просто повторил чужой опыт, возможно он экспериментировал с какой то навязчивой идеей. В любом случае он получил полезный опыт. Даже если это полностью провальный проект. Более того, выложив свое детище где то в публичный доступ, выставив на суд людской, он получает актуальную критику — что тоже бесценный опыт. Глядишь, так на n-ый раз, у m-ого «фреймворкостроителя» получится что то действительно грандиозное.

Проблема в том, что такие "статьи" провоцируют некоторые типы людей прислушиваться к их мнению и рождается от этого куча проблем в коммерческих проектах, люди начинают там использовать голый реакт и все "решать" с помощью контекста и т.д и т.п. Или вообще максимально до смешного доходит что Redux используют до сих пор.

такие "статьи" провоцируют некоторые типы людей прислушиваться к их мнению и рождается от этого куча проблем в коммерческих проектах

Это не наша проблема и не проблема автора. С данной статьей я также категорически не согласен, но лучше писать статью, чем не писать. У автора есть желание и время, у нас с вами — комментарии и иногда голосование.

Плюсанул, статья написана отлично, хоть тема избита.

React.js: размышления об управлении состоянием и повторном рендеринге

Что о нём размышлять? Уже ж вроде давно определился лидер и всё "починилось". Возьмите react+mobx+typescript+ui-kit-по-вкусу и просто делайте свою работу.

Освободившееся время и энергию лучше вкладывать в более фундаментальные вещи, типа - сети, алгоритмы, книжки, здоровье, навыки переговоров\убеждения, личную жизнь..)

Sign up to leave a comment.