mh_jy_safe_web/src/utils/hooks.js
2025-08-25 10:08:30 +08:00

32 lines
661 B
JavaScript

import { useState, useEffect, useRef } from 'react'
export function useWindowSize () {
const [windowSize, setWindowSize] = useState({
width: undefined,
height: undefined,
})
useEffect(() => {
function handleResize () {
setWindowSize({
width: window.innerWidth,
height: window.innerHeight,
})
}
window.addEventListener('resize', handleResize)
handleResize()
return () => window.removeEventListener('resize', handleResize)
}, [])
return windowSize
}
export function usePrevious (value) {
const ref = useRef()
useEffect(() => {
ref.current = value
}, [value])
return ref.current
}