сlick, но работает при mousedown?
Я в ступоре
а почему у useEffect нет второго аргумента?
я любом случае его наличие проблему не решает
буквально на той неделе то же самое словила 😁🤝
а покажи как используешь?
там нет никакого stopPropagation по пути?
const [isMenuOpen, setIsMenuOpen] = useState(false); const menuRef = useRef(null); const btnRef = useRef(null); const handleOutsideClick = (event: MouseEvent) => { if (menuRef.current && !(menuRef.current as HTMLBodyElement).contains(event.target as Node)) { setIsMenuOpen(false); } }; useEffect(() => { document.addEventListener('mouseup', handleOutsideClick); return () => { document.removeEventListener('mouseup', handleOutsideClick); }; }, []); ..... ..... <Space className='user-info' ref={btnRef} onMouseUp={(event) => { event.stopPropagation(); setIsMenuOpen(!isMenuOpen); }} > <UserOutlined className='user-icon' /> <p>{profileData?.name || ''}</p> <DownOutlined className={isMenuOpen ? 'svg-icon svg-icon_rotate' : 'svg-icon'} /> </Space>
а ты свою проблему до сих пор не решила?
всё норм работает
нe тfк это mouseup или down. я просо не понимаю прблему с кликом
но ведь ты сам ответил, клик открывает (по кнопке) и сразу же закрывает (потому что кнопка вне компонента) меню
но ивент вешается после маунта компонента, соответсвенно отпускание кнопки не может так быстро сработать
Обсуждают сегодня