当我试图将这个js转换为typescript时,我得到了一些错误。第一个用于事件
它说:参数'event'隐式地有一个'any'类型
我可以把任何类型的事件,但想知道正确的数据类型,而不是通用的。
另一个用于以下行:
if (!ref.current?.contains(event.target)) {
错误:
Property 'contains' does not exist on type 'never'
任何帮助将不胜感激!
React.useEffect(() => {
const handleOutsideClick = (event) => {
if (window.innerWidth < 1024) {
if (!ref.current?.contains(event.target)) {
if (!open) return;
setOpen(false);
}
}
};
window.addEventListener("click", handleOutsideClick);
return () => window.removeEventListener("click", handleOutsideClick);
}, [open, ref]);
const divRef = useRef<HTMLDivElement>(null);
使用HTMLDivElement类型它包含包含(哈哈)。
const ref = React.useRef<HTMLDivElement>(null)
contains(e.target as HTMLDivElement)