Skip to content

useResponsive

Hook for getting responsive window size.

By default Breakpoints are:

  • xs:
  • sm:
  • md:
  • lg:
  • xl:

Demo

INFO

The component initialize useResponsive hook without param and displays screen size value.

Try to change window size to see how value changes.

Loading demo…
Show source code
tsx
import { useResponsive } from "../../../.."

export const UseResponsive = () => {
	const responsive = useResponsive();

	return <p>{JSON.stringify(responsive, null, 2)}</p>
}

Types

UseResponsiveKeys

ts
export type UseResponsiveKeys<T extends UseResponsiveKeysType = UseResponsiveKeysType> = T extends UseResponsiveKeysType ? Extract<UseResponsiveKeysType, T> : never;

UseResponsiveBreakpoints

  • @template T - The breakpoint key type inferred from the provided config.

Options accepted by {@link useResponsive}.

ts
export type UseResponsiveBreakpoints<T extends UseResponsiveKeys> = {
	[k in T]: number | { value: number, condition: "<" | "<=" | ">" | ">=" }
};

UseResponsiveResult

  • @template T - The breakpoint key type. Defaults to the keys of the built-in defaultConfig when no custom config is provided.

A record mapping each breakpoint key to a boolean indicating whether the current viewport matches that breakpoint. Returned by {@link useResponsive}.

ts
export type UseResponsiveResult<T extends UseResponsiveKeys> = {
	[s in UseResponsiveKeys<T>]: boolean;
};

Released under the MIT License.