useWindowSize
function useWindowSize(options?: WindowSizeOptions): ElementSize;
The useWindowSize hook is a wrapper around the useResizeListener to
return the current window height and width.
Example Usage
import { useWindowSize } from "@react-md/core/useWindowSize";
import { useState } from "react";
function Example() {
const { height, width } = useWindowSize();
return (
<>
The current window size:
<pre>
<code>{JSON.stringify(size, null, 2)}</code>
</pre>
</>
);
}
Parameters
options(optional) - An object with the following definition:
export interface WindowSizeOptions extends AddEventListenerOptions {
/**
* The default value to use in SSR environments for the window's height.
*
* @defaultValue `0`
*/
ssrHeight?: number;
/**
* The default value to use in SSR environments for the window's width.
*
* @defaultValue `0`
*/
ssrWidth?: number;
/**
* Set this to `true` to ignore resize events that only updated the height.
* The hook can be disabled by setting this and {@link disableWidth} to
* `true`.
*
* @defaultValue `false`
*/
disableHeight?: boolean;
/**
* Set this to `true` to ignore resize events that only updated the width.
* The hook can be disabled by setting this and {@link disableHeight} to
* `true`.
*
* @defaultValue `false`
*/
disableWidth?: boolean;
/**
* Set this to `false` to disable throttling with
* `window.requestAnimationFrame`.
*
* @defaultValue `true`
*/
throttle?: boolean;
}
Server Side Rendering
If the height and width can be guessed during SSR, it is recommended to
provide the ssrHeight and ssrWidth props to reduce layout shifts.
Returns
export interface ElementSize {
height: number;
width: number;
}