Всем доброго дня.
В навбаре есть иконка открывающая дропдаун по клику. Дропдаун, после открытия, отрисовывает все внутренности и устанавливает слушалку на клики в своём
useEffect'е. Клик извне - закрываем дроп, клик внутри - молчим.
Внутренности дропа это, к примеру, некие карточки товаров. Каждая такая карточка имеет возможность самоликвидироваться по клику на крестик.
Проблема в том, что после удаления карточки, сначала происходит перерисовка всего дропа(т.е. без удалённого елемента) и только в самом конце отрабатывает родительская слушалка, которая, разумеется, схлопывает дроп, думая что клик произошел извне, т.к. фактически элемента уже нет в дропе.
Как бы так исхитриться и объяснить слушалке не схлопывать дроп после удаления карточки?
Единственное, что пришло в голову, это добавить иконке удаления карточки
data-remove-icon аттрибут и в слушалке проверять на наличие этого свойства в
event.target.dataset. Думаю, что это не самый верный способ.
Воссоздал похожее безобразие
тут.
Заранее спасибо.