gpt4 book ai didi

html - 如何使用 Typescript 在 React 中定义

转载 作者:行者123 更新时间:2023-12-04 12:09:42 27 4
gpt4 key购买 nike

我正在尝试使用 React.js 中的 ref 来控制视频的播放/暂停状态,我的代码可以工作,但是我正在尝试解决 tslint 错误:

function App() {
const playVideo = (event:any) => {
video.current.play()
}
const video = useRef(null)

return (
<div className="App">
<video ref={video1} loop src={bike}/>
</div>
);
}
这会导致
TS2531: Object is possibly 'null'.
所以我尝试改变 const video = useRef(null)const video = useRef(new HTMLVideoElement())我得到: TypeError: Illegal constructor我也试过: const video = useRef(HTMLVideoElement)这导致:
TS2339: Property 'play' does not exist on type '{ new (): HTMLVideoElement; prototype: HTMLVideoElement; }'

最佳答案

要设置 ref 的类型,您可以像这样设置类型:useRef<HTMLVideoElement>() .然后,处理对象可能是 null 的事实。 (因为在安装组件之前它是 null 或 undefined!),您可以检查它是否存在。

const App = () => {
const video = useRef<HTMLVideoElement>();
const playVideo = (event: any) => {
video.current && video.current.play();
};

return (
<div className="App">
<video ref={video} loop src={bike} />
</div>
);
};

关于html - 如何使用 Typescript 在 React 中定义 <video> 引用的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65724837/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com