Вам не нужен реф для этого. React поддерживает события нажатия «из коробки», используя стандартный декларативный синтаксис.
const Example: React.FC = () => {
const ref = useRef<HTMLDivElement>(null);
const handleClick = (): void => {
// mouse click logic
};
return (
<div onClick={handleClick} />
);
};
Вы упомянули в комментариях, что причина, по которой вы пытались это сделать, заключалась в том, чтобы заставить замолчать правило пуха. Но использование ссылки не решает проблему, на которую указывает линтер, просто делает код достаточно сложным, чтобы линтер не мог понять, что вы делаете, и поэтому не понимает, что ваш код имеет то же самое проблема, как и раньше.
Чтобы исправить проблему, добавьте атрибут div в div, чтобы программы чтения с экрана знали, какова цель этого div. Какую роль использовать, зависит от того, что делает обработчик кликов, но наиболее вероятные роли - это «кнопка» или «ссылка».
return (
<div onClick={handleClick} role="button" />
);