react 自定义封装获取视口宽高hooks

hooks.js

  import React,{useEffect,useState} from 'react';
export const useWindowsize = ()=>{
  let [width,setwidth] = useState("0px")
  let [height,setHeight] = useState("0px")
  useEffect(()=>{
      setwidth(document.documentElement.clientWidth)
      setHeight(document.documentElement.clientHeight)
    },[])
    useEffect(()=>{
      const handleResize = ()=>{
        setwidth(document.documentElement.clientWidth)
        setHeight(document.documentElement.clientHeight)
      }
      window.addEventListener("resize",handleResize,false)
      return ()=>{
        window.removeEventListener("resize",handleResize,false)
      }
    },[])
    return [width,height]
}

组件

import {useWindowsize} from "../hooks"
 const [width,height] = useWindowsize()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容