Обновить
8K+
2
Чернышов Дмитрий@undefinet

Frontend разработчик

8
Рейтинг
Отправить сообщение

Возможно не правильно сформулировал, я просто хотел подсветить здесь, что в данном моменте - типизация != гарантия прихода данных того типа что мы указали.

Приветствую, да все так. Но те данные которые мы передаем, в данном подходе через open() в большинстве случаев не поменяются пока мы работает с модальным окном.
Эти данные нужны единожды при открытии, чтобы понять с какой сущностью мы работаем - в данном случае productId, а он вряд-ли поменяется пока наше окно открыто.

Спасибо за коммент. Если мы будем возвращать null - данный подход не дружит к сожалению с анимациями - а в частности исчезновения, поэтому будут проблемки, если у модального окна присутствует анимация.
Также, хоть мы и вернули бы null, но стейт у компонента остается - это не бесплатно, к сожалению. Поэтому данный подход не сильно спасет ситуацию.

Привет, спасибо за комментарий!

Да, на первый взгляд кажется сложно — но в статье я намеренно показал случаи, когда простого show(content) не хватает. В реальных проектах модалки редко сводятся к заголовку и двум кнопкам — внутри таблицы, формы, многошаговые флоу, разные API в зависимости от того, откуда открыли. Передать всё это через один метод можно, но конфиг разрастается, и логика "что показать" начинает течь внутрь модалки. Как раз это я и пытался решить.

Информация

В рейтинге
908-й
Зарегистрирован
Активность

Специализация

Специалист
Старший
JavaScript