Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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 旋转后如何获得正确的屏幕内宽?_Javascript_Reactjs_Google Chrome_Mobile_React Pdf - Fatal编程技术网

Javascript 旋转后如何获得正确的屏幕内宽?

Javascript 旋转后如何获得正确的屏幕内宽?,javascript,reactjs,google-chrome,mobile,react-pdf,Javascript,Reactjs,Google Chrome,Mobile,React Pdf,我试图获得屏幕的内部宽度,我设法做到这一点,但当我在移动视图上转到页面时,我首先得到375,在转到横向视图后,我得到667,当返回到纵向视图时,我得到618。为什么我从横向返回时与从另一个页面导航时有所不同? 我所做的: <meta name="viewport" content="width=device-width, initial-scale=1.0"> 这就是我得到宽度的方法 import React, { use

我试图获得屏幕的内部宽度,我设法做到这一点,但当我在移动视图上转到页面时,我首先得到375,在转到横向视图后,我得到667,当返回到纵向视图时,我得到618。为什么我从横向返回时与从另一个页面导航时有所不同? 我所做的:

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

这就是我得到宽度的方法

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

const useWindowWidth = (WrappedComponent) => (props) => {
    const [width, setWidth] = useState(window.innerWidth);
  
    useEffect(() => {
      const handleResize = () => {setWidth(window.innerWidth);}
  
      window.addEventListener('resize', handleResize);
  
      return () => {
        window.removeEventListener('resize', handleResize);
      };
    }, []);
  
    return (    <WrappedComponent {...props} width={width} />
    )
  }

export default useWindowWidth;
import React,{useState,useffect}来自“React”;
常量useWindowWidth=(WrappedComponent)=>(道具)=>{
const[width,setWidth]=useState(window.innerWidth);
useffect(()=>{
const handleResize=()=>{setWidth(window.innerWidth);}
window.addEventListener('resize',handleResize);
return()=>{
removeEventListener('resize',handleResize);
};
}, []);
报税表(
)
}
导出默认窗口宽度;
我需要js中的宽度,因为我必须从npm设置react pdf的宽度,并且应该在组件的道具中设置

       let windowWidth = width * 0.9;
   return (
       <Document
        file={url}
        onLoadSuccess={onDocumentLoadSuccess}
        className={classes.pdfFileContainer}
      >
        <Page pageNumber={pageNumber} width={windowWidth} />
      </Document>
);
让windowWidth=width*0.9;
返回(
);

与其调整大小,不如尝试听相同的行为。为什么还要通过JS这样设置宽度?为什么不使用CSS呢?我需要在js中设置宽度,在问题中添加了它。与其调整大小,不如尝试听相同的行为。为什么你甚至像这样通过js设置宽度?为什么不使用CSS呢?我需要在js中设置宽度,在问题中添加了它。