Очень полезное видео, жаль что мне никто про это не рассказал когда я только начинал работать. Сам недавно дошел до идеи изложенной в видео, и код стал в разы чище и понятней
Удачным примером были бы формы создания и редактирования для одной сущности, отображение данных даже в самом запущеном случае обычно можно распутать, а вот там где есть сохранение/отправка…
Если поля полностью одинаковые, то саму форму можно делать как один универсальный компонент, который принимает на вход InitialValues сверху и эмитит значения при отправке формы Компонент-обертка 1: создание сущности, не передает ничего Компонент-обертка 2: редактирование сущности, передает текущие значения Если же поля отличаются, надо смотреть конкретику
Компоненты высокого уровня абстракций должны копироваться, но переиспользовать компоненты более низких уровней абстракций. Если компонента высокого уровня абстракций полагается на другую того же уровня (что в некоторых случаях допустимо), то движемся по дереву компонент вниз пока не найдем походящую для переиспользования. В данном примере переиспользуется UserCard, но мне кажеться мы могли бы уйти на уровень выше и взять еще и title объединив в UsersWidget
Вот толко про UsersWidget не согласен мы тут получим тоже самое что и со страницей. Вообще виджеты редко использую это для меня как раз чаще вредное переиспользлвание композиции и лучше скопипастить
Привет, Евгений. Видос супер.У меня появился вопрос). Допустим есть модальное окно, которое отрисовывает список юзеров и по кнопке 'Применить' отправляет POST запрос на бэк. Я хочу переиспользовать это модальное окно в разных местах. Но в одном месте используется одно название URL адреса, а в другом месте другое название URL адреса (body запроса одинаковое). Логика внутри модального окна одинаковая, но передается props url адреса, чтобы это модальное окно переиспользовать. Вопрос. Может этот компонент надо продублировать для тех частей, где используется разный url адрес POST запроса?
Скорее всего если url разные то и body рано или поздно поменяются. Можно через пропсы передать функцию запроса или просто onSave. Отдельный урл, это передача кусочка абстракции, это нарушение инкапсуляции Но вообще модалки как раз неплохо переиспользуются, так как они по смыслу являются одним и тем же часто, просто с разными тригерами
Очень полезное видео, жаль что мне никто про это не рассказал когда я только начинал работать. Сам недавно дошел до идеи изложенной в видео, и код стал в разы чище и понятней
я уже посмотрел твое несколько видео блин прям круто объясняешь и нужных тем, спасибо тебе
Спасибо! Такого контента мне не хватала. Я в экстазе от видео. Готов донатить.
очень крутая важная жизненная тема
Удачным примером были бы формы создания и редактирования для одной сущности, отображение данных даже в самом запущеном случае обычно можно распутать, а вот там где есть сохранение/отправка…
Если поля полностью одинаковые, то саму форму можно делать как один универсальный компонент, который принимает на вход InitialValues сверху и эмитит значения при отправке формы
Компонент-обертка 1: создание сущности, не передает ничего
Компонент-обертка 2: редактирование сущности, передает текущие значения
Если же поля отличаются, надо смотреть конкретику
Спасибо, отличное видео
Компоненты высокого уровня абстракций должны копироваться, но переиспользовать компоненты более низких уровней абстракций. Если компонента высокого уровня абстракций полагается на другую того же уровня (что в некоторых случаях допустимо), то движемся по дереву компонент вниз пока не найдем походящую для переиспользования. В данном примере переиспользуется UserCard, но мне кажеться мы могли бы уйти на уровень выше и взять еще и title объединив в UsersWidget
Вот толко про UsersWidget не согласен мы тут получим тоже самое что и со страницей. Вообще виджеты редко использую это для меня как раз чаще вредное переиспользлвание композиции и лучше скопипастить
Лучше было бы title и loader вынесли в компоненты еще
Спасибо, очень полезно!
Привет, Евгений. Видос супер.У меня появился вопрос). Допустим есть модальное окно, которое отрисовывает список юзеров и по кнопке 'Применить' отправляет POST запрос на бэк. Я хочу переиспользовать это модальное окно в разных местах. Но в одном месте используется одно название URL адреса, а в другом месте другое название URL адреса (body запроса одинаковое). Логика внутри модального окна одинаковая, но передается props url адреса, чтобы это модальное окно переиспользовать. Вопрос. Может этот компонент надо продублировать для тех частей, где используется разный url адрес POST запроса?
Скорее всего если url разные то и body рано или поздно поменяются. Можно через пропсы передать функцию запроса или просто onSave. Отдельный урл, это передача кусочка абстракции, это нарушение инкапсуляции
Но вообще модалки как раз неплохо переиспользуются, так как они по смыслу являются одним и тем же часто, просто с разными тригерами
боль.