reactjs 在react中使用事件侦听器键入图像元素

h5qlskok  于 2023-11-18  发布在  React
关注(0)|答案(1)|浏览(123)

如果我尝试将事件输入为React.ChangeEvent<HTMLImageElement>以使e.target.src工作,我会在imageFound和ImageNotFound中得到以下错误:
类型“(evt:React.ChangeEvent)=> void "不可分配给类型“EventListener”。参数“evt”和“evt”的类型不兼容。类型“Event”不可分配给类型“ChangeEvent”。
我无法找到任何解决办法来输入这个。

const imageFound = (e: any) => {
        e?.target?.src && found.push(e.target.src);
    };
    const imageNotFound = (e: any) => {
        window?.console && console.warn("Preload image failed!", e.target.src);
    };
    useEffect(() => {
        let image: IImage;
            const img = new Image();
            img.addEventListener("load", imageFound);
            img.addEventListener("error", imageNotFound);
            img.src = getImageSrc(image.src);
        }

字符串

zd287kbt

zd287kbt1#

尝试将类型定义更新为:

type HTMLImageEvent = React.ChangeEvent<HTMLImageElement> & Event

字符串
演示:https://stackblitz.com/edit/stackblitz-starters-vthqnc?file=src%2FApp.tsx

相关问题