Event Handling
useOnWindowResize
Fires a callback whenever the browser window is resized.
About
A React hook for adding an event listener for window resize
Examples
import "./styles.css";
import { useOnWindowResize } from "rooks";
export default function App() {
useOnWindowResize(() => console.log("window resized"));
return (
<div className="App">
<h1>useOnWindowResize example</h1>
<h2>Resize the window and see the logs</h2>
</div>
);
}import { useState } from "react";
import { useOnWindowResize } from "rooks";
export default function ResponsivePreview() {
const [count, setCount] = useState(0);
const [enabled, setEnabled] = useState(true);
useOnWindowResize(() => {
setCount((current) => current + 1);
}, enabled);
return (
<div>
<button onClick={() => setEnabled((current) => !current)}>
{enabled ? "Pause resize tracking" : "Resume resize tracking"}
</button>
<p>Resize events recorded: {count}</p>
</div>
);
}Arguments
| Arguments | Type | Description | Default value |
|---|---|---|---|
| callback | function | Callback function which needs to run on unmount | undefined |
| when | boolean | When the event handler should be active | true |
| isLayoutEffect | boolean | Should it use layout effect. | false |
Returns
No return value.