При создании модального окна пользовательским хуком не работают анимации ant design
Есть пользовательский хук, наподобие этого:
export const useModal = () => {
const [isLoginVisible, setLoginVisible] = useState(false);
const handleOpen = () => {
setLoginVisible(true);
};
const handleClose = () => {
setLoginVisible(false);
};
const CustomModal = () => {
return (
<div>
<Modal
centered={true}
title={"Login"}
visible={isLoginVisible}
onCancel={handleClose}
footer={null}
>
<LoginForm />
</Modal>
</div>
);
};
return {
modalComponent: CustomModal,
modalClose: handleClose,
modalOpen: handleOpen
};
};
С помощью него "создаётся" модальное окно в другом компоненте. На кнопку вешается обработчик modalOpen. При нажатию на кнопку все происходит так, как и задумано: происходит анимация развертывания модального окна от кнопки. Однако при закрытии вообще какая-либо анимация отсутствует, хотя должно произойти свёртывание модального окна к кнопке.
При внесении "внутренностей" хука в сам компонент все работает исправно.
Вероятно, библиотека вешает обработчик на документ, который из объекта event вытягивает pageX и pageY курсора при клике и пакует в объект, который отправляется , если модалка свернута. Это обеспечивает развертывание и свертывание в одну и ту же область. Однако, что там происходит более глубоко, понятия не имею :)