Skip to content

useIsSupported

Detects if a specific browser API is supported.

Installation

npx rabbithook@latest add use-is-supported

Usage

App.tsx
import useIsSupported from "@/hooks/use-is-supported";
function Component() {
const isNavigatorSupported = useIsSupported(() => Navigator);
return ();
}

Code

use-is-supported.ts
import { useState } from "react"
import useMount from "../use-mount"
export function useIsSupported(predicate: () => boolean) {
const [isSupported, setIsSupported] = useState(false)
useMount(() => {
setIsSupported(predicate())
})
return isSupported
}