useVisibilityChange
문서의 가시성(visibility) 상태 변경 시 실행할 콜백 함수를 등록하는 커스텀 훅입니다.
document.visibilityState
가 문서가 보이는 상태가 되면(visible
) onShow
콜백이 호출되며, 보이지 않는 상태가 되면(hidden
) onHide
콜백이 호출됩니다.
Code
Interface
typescript
type VisibilityChangeCallbackAction = (
event: Event,
visibilityState: DocumentVisibilityState
) => void;
interface useVisibilityChangeProps {
onShow?: VisibilityChangeCallbackAction;
onHide?: VisibilityChangeCallbackAction;
enabled?: boolean; // default: true
}
typescript
function useVisibilityChange({
onShow,
onHide,
enabled = true,
}: UseVisibilityChangeProps = {}): void;
Usage
typescript
import { useVisibilityChange } from '@modern-kit/react';
const Example = () => {
useVisibilityChange({
onShow: (event: Event, visibilityState: DocumentVisibilityState) => { /* ... */},
onHide: (event: Event, visibilityState: DocumentVisibilityState) => { /* ... */}
});
return (
<div>{/* ... */}</div>
)
};
Example
탭을 벗어난 후 다시 돌아와보세요!