動画再生 React
const MyApp = () => {
const [isPlaying, setIsPlaying] = useState(false);
const movieRef = useRef();
const handleMovie = () => {
if (isPlaying) {
movieRef.current.pause();
} else {
movieRef.current.play();
}
setIsPlaying(prev => !prev);
}
return (
<>
<video ref={movieRef} style={{ maxWidth: "50%" }}>
<source src="./skate.mp4"></source>
</video>
<Button variant='contained' onClick={handleMovie}>{isPlaying ? "stop" : "play"}</Button>
</>
)
}
export default MyApp
useRef
- useRef は再レンダリングを発生させずに値を保持する方法 ↔ STATEは再レンダリングが発生する
- useRef は”refオブジェクト”を返す
- currentプロパティに値が設定される
- ref.currentで値にアクセスできる