Appearance
useFullscreen
Reactive Fullscreen API. It adds methods to present a specific Element (and its descendants) in full-screen mode, and to exit full-screen mode once it is no longer needed. This makes it possible to present desired content—such as an online game—using the user's entire screen, removing all browser user interface elements and other applications from the screen until full-screen mode is shut off.
Demo
Usage
tsx
import { useFullscreen } from '@reause/core'
const { isFullscreen, enter, exit, toggle } = useFullscreen()Fullscreen specified element. Some platforms (like iOS's Safari) only allow fullscreen on video elements.
tsx
import { useFullscreen } from '@reause/core'
import { useRef } from 'react'
const el = useRef<HTMLVideoElement>(null)
const { isFullscreen, enter, exit, toggle } = useFullscreen(el)
// <video ref={el} controls />Type Declarations
ts
export type FullscreenTarget = RefObject<HTMLElement | SVGElement | null | undefined>
export interface UseFullscreenOptions {
document?: Document;
autoExit?: boolean;
}
export interface UseFullscreenReturn {
isSupported: boolean;
isFullscreen: boolean;
enter: () => Promise<void>;
exit: () => Promise<void>;
toggle: () => Promise<void>;
}
export function useFullscreen(target?: FullscreenTarget, options?: UseFullscreenOptions): UseFullscreenReturn