实现一个resize拖拽浏览器窗口,实时显示浏览器窗口大小宽高
上代码
import React,{useState,useEffect,useCallback} from 'react';
function useWinSize(){
//定义初始化状态
const [size,setSize] =useState({
width:document.documentElement.clientWidth,
height:document.documentElement.clientHeight
});
//定义具体事件
const onResize= useCallback(()=>{
setSize({
width:document.documentElement.clientWidth,
height:document.documentElement.clientHeight
})
},[])
//监听
useEffect(()=>{
//绑定事件
window.addEventListener('resize',onResize)
//优化 卸载事件
return ()=>{
window.removeEventListener('resize',onResize)
}
},[])
//返回
return size
}
//UI
function App9(){
const size=useWinSize()
return(
<div>页面size:{size.width},{size.height}</div>
)
}
export default App9;
效果图