問(wèn)題
因?yàn)樵?div 上用到 scrollTop 屬性挂滓,所以 ts 報(bào)了下面的錯(cuò)誤,說(shuō)某個(gè)類型上不存在 scrollTop 屬性
不能將類型“{ children: Element[]; className: any; scrollTop: number; ref: RefObject<HTMLDivElement>; }”分配給類型“IntrinsicAttributes & Pick<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "children" | ... 253 more ... | "onTransitionEndCapture"> & { ...; }”姻灶。
類型“IntrinsicAttributes & Pick<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "children" | ... 253 more ... | "onTransitionEndCapture"> & { ...; }”上不存在屬性“scrollTop”铛绰。
首先百度,但沒(méi)有查到 ts 如何給 div 的聲明增加一個(gè)屬性产喉。那只好自力更生了~
思路很簡(jiǎn)單捂掰,就是聲明合并。
過(guò)程
從 div 進(jìn)入到聲明文件曾沈,可以看到尘颓。
HTMLDivElement,往下走晦譬,可以看到 HTMLDivElement 最后是有繼承 scrollTop 屬性的。
所以問(wèn)題不在這里互广,進(jìn)入 HTMLAttributes敛腌,可以發(fā)現(xiàn)卧土,這里確實(shí)沒(méi)有 scrollTop 屬性的聲明,要解決的就是這里了~
解決
最后加上下面的代碼像樊,就好了尤莺。
declare module 'react' {
interface HTMLAttributes<T> {
scrollTop?: number
}
}
最后雖然寫出來(lái)就一點(diǎn),思路也很簡(jiǎn)單生棍。但因?yàn)槌跞雝s颤霎,所以其實(shí)最上面的問(wèn)題讓我花費(fèi)將近一天時(shí)間,才醒悟找到問(wèn)題點(diǎn)涂滴,解決完成~