自定义hook

import { useState, useRef, useEffect } from 'react'
 
 
/**
 * 组件全屏hook
 * 
 * 用法 
 * const [isFullScreen, fullScreen, exitFullScreen, fullScreenRef] = useFullScreen()
 * 
 */
function useFullScreen() {
    const fullScreenRef = useRef()// 需要全屏的div
 
    const [isFullScreen, setIsFullScreen] = useState(false);// 是否全屏
 
    useEffect(() => {
        // 监听页面全屏事件
        window.onresize = () => {
            // 全屏
            if (document.fullscreenElement) {
                setIsFullScreen(true)
            }
            // 不是全屏
            else {
                setIsFullScreen(false)
            }
        }
 
    }, [])
    // 全屏
    const fullScreen = () => {
        if (!isFullScreen) {
            fullScreenRef.current.requestFullscreen();
        }
    }
 
    // 退出全屏
    const exitFullScreen = () => {
        document.exitFullscreen();
    }
 
    return [isFullScreen, fullScreen, exitFullScreen, fullScreenRef]
}
 
 
 
 
export default useFullScreen