Rooks
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

ArgumentsTypeDescriptionDefault value
callbackfunctionCallback function which needs to run on unmountundefined
whenbooleanWhen the event handler should be activetrue
isLayoutEffectbooleanShould it use layout effect.false

Returns

No return value.

On this page