Files
codeg/src/hooks/use-media-query.ts
2026-04-07 15:47:16 +08:00

16 lines
393 B
TypeScript

"use client"
import { useSyncExternalStore } from "react"
export function useMediaQuery(query: string): boolean {
return useSyncExternalStore(
(callback) => {
const mql = window.matchMedia(query)
mql.addEventListener("change", callback)
return () => mql.removeEventListener("change", callback)
},
() => window.matchMedia(query).matches,
() => false
)
}