@modern-kit/react
Version:
26 lines (24 loc) • 1.32 kB
TypeScript
interface UseNetworkProps {
onlineAction?: (event: Event) => void;
offlineAction?: (event: Event) => void;
}
/**
* @description 네트워크 상태 변화를 감지하고, 현재 온라인 상태를 나타내는 `isOnline` 값을 반환합니다.
* 또한, 네트워크 상태가 온라인 또는 오프라인으로 변경될 때 실행될 콜백 함수를 전달할 수 있습니다.
*
* @see https://react.dev/reference/react/useSyncExternalStore#subscribing-to-a-browser-api
*
* @param {UseNetworkProps} props - 네트워크 상태 변경 시 호출될 콜백 함수 설정을 위한 객체입니다.
* @param {(event: Event) => void} [props.onlineAction] - 네트워크가 온라인 상태로 변경될 때 호출되는 콜백 함수입니다.
* @param {(event: Event) => void} [props.offlineAction] - 네트워크가 오프라인 상태로 변경될 때 호출되는 콜백 함수입니다.
*
* @returns {boolean} 현재 네트워크가 온라인 상태인지 여부를 나타냅니다.
*
* @example
* const isOnline = useNetwork({
* onlineAction: () => console.log('온라인 상태입니다!'),
* offlineAction: () => console.log('오프라인 상태입니다!')
* });
*/
declare function useNetwork({ onlineAction, offlineAction, }?: UseNetworkProps): boolean;
export { useNetwork };