Media Query for React using useEffect and cleanup

PHOTO EMBED

Sat Oct 15 2022 23:34:47 GMT+0000 (Coordinated Universal Time)

Saved by @davidmchale #react #useeffect #mediaquery

import React, { useState, useEffect } from 'react';


const UseEffectCleanup = () => {
  
  const [width, setWidth] = useState(window.innerWidth);

  const checkSize = () => {
    setWidth(window.innerWidth)
  }

  useEffect(() => {

    window.addEventListener('resize', checkSize)
    return () => {
      window.removeEventListener('resize', checkSize)
    }
  }, [width]);

  return (
    <>
      <h1>Window Size</h1>
      <h2>{`${width}px`}</h2>
    </>
  );

}


export default UseEffectCleanup;
content_copyCOPY