я бы добавил еще сюда излишнюю переиспользуемость. Когда пишут компоненты которые используются условно в двух-трех местах, например это какой нить блок на сайте. Но часто приходят правки от бизнеса поправить в одном блоке что нибудь, и этот компонент начинает разрастаться конфигами, условиями и тд. Вместо того чтобы написать три разных блока, но использовать в них более мелкие компоненты типа ui-kit
@rhost-996812 сағат бұрын
Проблемы "state coupling" не понял, обычно же если ты хочешь чтобы компонент использовался только в рамках одного стора то ты "завязываешь" его на одном сторе, если нужно что-то общее как например Table, TableCell etc. то ты делаешь "глупые компонент" так как просто не можешь завязывать это на стор
@baileysli623514 сағат бұрын
1. God Component. Сразу ДА. Как же раздражает. Просто без сепарации ответственности столько проблем на ровном месте создают 450 строк это ещё по божески. Постоянно попадаются легаси у которых 1000 или 2000 строк. Это же просто невозможно поддерживать
@jacktwinn4 сағат бұрын
бл**$#* после того как разобрался в подобном легаси, нормальный код кажется уж банально простым))
@windus088 сағат бұрын
1:02:03 Так, а где мы будем выполнять сайдэффекты, например ajax?) Вариант с танстаком юзает эффект
@vladd91078 сағат бұрын
На сервере, но опять же, не все нужен ssr. Так что считаю этот антипаттерн притянутым за уши. А если люди пишут логику в useEffect как показано в видео, то возникают вопросы о их квалификации и даже джуны такое не напишут в здравом уме, особенно кто доку по react прочитает. P.s. все же есть еще вариант который не указал. react-router loader api
@paromovevg2 сағат бұрын
К сожалению пишут и не джуны, очень очень много пишут (как человек который видел много проектов и с многими людьми общался говорю) По поводу useEffect есть кейсы где он нужен, но как и написано в доке это не должно быть настолько часто
@gagate8112 сағат бұрын
Хорошее видео, лайк. Про components folder непонятно только. Хуки (хелперы, константы) выносятся в папку так как они переиспользуются (или могут переиспользоваться) в разных компонентах. Разве нет?
@factorealrus10 сағат бұрын
переиспользуемые (глобальные) сущности выносятся на глобальный уровень. здесь была речь о локальных сущностях, тесно связанных друг с другом и которые без друг друга не используются. вот их нужно хранить рядом. часто ВСЕ хуки выносят в папку hooks в корне проекта просто потому что эта папка уже есть и кажется что там нужно хранить все хуки. но это не так
@АлександрКоваль-д3щ12 сағат бұрын
Спасибо. А как во вью решаются данные проблемы ?
@paromovevg2 сағат бұрын
Ровно также, как и в реакт. Но, к сожалению, во вью распространена мутабельные структуры данных, поэтому там ещё все хуже
@nilsen18793 сағат бұрын
Пункт №4 - это моя боль. Мозгов не хватает, как бы это решить. Посмотрел паттерн медиатор, и я тоже в этом направлении смотрел, но как от этого профит получить, не понял. Как по мне, лучше уж локальные стейты с редюсером и контекстом иметь их можно переиспользовать. Но тогда будут перерендеры на каждый чих. Ну хотя бы серверные данные c swr / react-query использовать уже неплохо.
@kimanowka11 сағат бұрын
а когда будет видео с тем, как ты показываешь, как правильно?
@paromovevg2 сағат бұрын
Сейчас я эти паттерны раскрываю в своём курсе в сообществе. Это видео как раз начало этого курса. Позже, когда я их проработаю, собираюсь выпустить в открытый доступ
@IIapazutСағат бұрын
а никто не заметил миллион "вот это вот все"? после 40 минут видео прям дико бросается в глаза. но сам видос полезный, спасибо
@АндрейЛейкин-ф6у12 сағат бұрын
Очень классное видео. Лично мне не хватило на каждый антипаттерн итог "как бы это выглядело при хорошем подходе"
@factorealrus10 сағат бұрын
плоти за курс. очень хочется узнать, да? что аж проскакивает мысль а не сходить ли на курс ) значит автор добился своей цели, мои поздравления )
@АлександрКоваль-д3щ9 сағат бұрын
@@factorealrus он же вроде сказал в следующем ролике здесь скажет
@le6ka718 сағат бұрын
@@factorealrus ну а почему б не сходить тогда? если курс будет тебе полезен
@factorealrus6 сағат бұрын
@@le6ka71 это был сарказм. Не приемлю все эти курсы как явление.
@AndreyAndrey-nx6uj14 сағат бұрын
Благодарю. Евгений лучший учитель и ментор🎉
@Bondarev_Igor9 сағат бұрын
Отличны ролик! Огромное спасибо! Очень полезная информация.
@baileysli623514 сағат бұрын
3. Даааааа, какая же жиза
@alexandernikolaev72086 сағат бұрын
Топ
@chuchumba42117 сағат бұрын
Евгений Паромов | Front-end, наверное тебе нужно изменить react на svelte, vue, solid.
@AleksandrMaltsev-jm8ph8 сағат бұрын
Первая ошибка реакт разработчика - писать на реакт