首页 > 解决方案 > 使用 Typescript 反应 useRef:类型“HTMLAudioElement”.ts(2339) 上不存在属性“playbackRate”

问题描述

打字稿新手,看到这个奇怪的声明:Property 'playbackRate' does not exist on type 'HTMLAudioElement'.ts(2339)

重现(此处为简洁起见):

const audioElement = useRef<HTMLAudioElement>()
audioElement!.current!.playbackRate = 1;

<audio ref={audioElement} />

MDN 显示playbackRate为 的属性HTMLMediaElement,但这显然不是打字稿界面选项:https ://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/playbackRate

我也找不到可用的接口列表。IE。为什么HTMLAudioElement可用但HTMLMediaElement不可用?我确定它必须记录在某个地方,我似乎无法找到它。

标签: reactjstypescript

解决方案


事实证明,我的tsconfig.json文件中缺少适当的编译器选项:

"compilerOptions": {
    "lib": [
      "es5",
      "es6",
      "dom"
    ],

推荐阅读