
Нужен ли здесь useEffect? «хороший» React-вариант и мол-вариант здесь один и тот же код
cmyser 2 минуты назад Нужен ли здесь useEffect? «хороший» React-вариант и мол-вариант здесь один и тот же код Средний 6 мин 4 $mol * ReactJS * VueJS * Angular * TypeScript * Кейс Recovery Mode Здравствуйте, товарищи! На...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
Вот важная новость с фронта ИИ: cmyser 2 минуты назад Нужен ли здесь useEffect? «хороший» React-вариант и мол-вариант здесь один и тот же код Средний 6 мин 4 $mol * ReactJS * VueJS * Angular * TypeScript * Кейс Recovery Mode Здравствуйте, товарищи! На Хабре вышла хорошая статья «Нужен ли здесь useEffect?
» Виктора Горбачёва ( @Viktoriko ) : 12 сценариев из code review, в которых эффект либо не нужен, либо нужен не такой. Разбор я особо конечно не могу понять, так как пишу только на…$mol’e и читал статью как этнограф. Каждое демо начинается с вопроса «а эффект здесь вообще нужен?
Технические детали
», а мне этот вопрос не задать ведь в моле нет API эффектов. Стало интересно переписать. Получилась страница с демками и этот текст.
Два места вместо трёхУ кода в React три места выполнения. Рендер для чистых вычислений, обработчик события для действий пользователя, эффект для синхронизации с внешней системой. И два вопроса перед каждым useEffect: можно ли это значение вычислить, и почему этот код должен выполниться.
Вычисление, то есть обычный метод компонента: если результат стоит кэшировать, вешаешь на него @$mol_mem, и значение пересчитывается только когда меняется что-то из прочитанного внутри. И действие: декоратор @$mol_action, на который в view. Рендер отдельным местом не считается, он сам такое же вычисление.
Отраслевые последствия
Синхронизация с внешним миром, забегая вперёд, тоже. Пройдём по всем 12 демо. Нумерация и названия частей как у ВиктораЧасть I.
Не храните то, что можно вычислить01. Производное состояниеfullName в useState, синхронизируемый эффектом — антипаттерн, правильно вычислять его во время рендера. В моле правильный вариант единственный, производное состояние просто негде хранить:full_name() { return `${ this.
first_name() } ${ this. last_name() }` } Метод, даже без mem. Кто прочитал full_name, тот перерисуется при смене имени.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





