Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我试图在react.js中获取图像的高度和宽度时,为什么返回undefined_Javascript_Reactjs - Fatal编程技术网

Javascript 当我试图在react.js中获取图像的高度和宽度时,为什么返回undefined

Javascript 当我试图在react.js中获取图像的高度和宽度时,为什么返回undefined,javascript,reactjs,Javascript,Reactjs,我试图在react.js中将图像的高度和宽度值记录到控制台中,但它们(出于某种原因)未定义。你知道为什么吗 代码如下: export default function FilmPage(props) { const getImgSize = (img) => { let imageEl = <img onLoad={()=>{ console.log(imageEl.width) console.log(i

我试图在react.js中将图像的高度和宽度值记录到控制台中,但它们(出于某种原因)未定义。你知道为什么吗

代码如下:

export default function FilmPage(props) {
    const getImgSize = (img) => {
        let imageEl = <img onLoad={()=>{
            console.log(imageEl.width)
            console.log(imageEl.height)
        }} src={img} />

        return imageEl
    }
    
    return (
        <div className="proper-film">
            <div className="body">
                <div>{getImgSize(props.data.image)}</div>
            </div>
        </div>
    )

}
顺便说一下,当我尝试调试时,我检索的数据没有问题


您有什么建议?

您可以修改
getImgSize
方法,如下所示

const getImgSize = (img) => {
    return <img onLoad={(e) => {
      console.log(e.target.offsetHeight)
      console.log(e.target.offsetWidth)
    }} src={img} />


  }
const getImgSize=(img)=>{
返回
}

imageEl
等于返回JSX代码,。您可以通过执行
获得此信息,并从e。但是,通常访问DOM元素时,您会使用
useRef
&
useffect
钩子。useffect(()=>{…},[])您是否尝试将代码放入useffect钩子中?我很感激,这很有效it@EfeFRK.no问题。一起学习。:)
const getImgSize = (img) => {
    return <img onLoad={(e) => {
      console.log(e.target.offsetHeight)
      console.log(e.target.offsetWidth)
    }} src={img} />


  }