当前位置:首页 > React

react如何获取屏幕分辨率

2026-01-25 22:32:12React

获取屏幕分辨率的方法

在React中获取屏幕分辨率可以通过JavaScript的window对象实现。以下是几种常见的方法:

使用window.innerWidth和window.innerHeight

const screenWidth = window.innerWidth;
const screenHeight = window.innerHeight;

window.innerWidthwindow.innerHeight返回浏览器视口的宽度和高度(包括滚动条)。

react如何获取屏幕分辨率

使用window.screen对象

const screenWidth = window.screen.width;
const screenHeight = window.screen.height;

window.screen.widthwindow.screen.height返回显示器的屏幕分辨率。

react如何获取屏幕分辨率

监听窗口大小变化

在React组件中,可以通过useEffect钩子监听窗口大小变化:

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

function ScreenResolution() {
  const [resolution, setResolution] = useState({
    width: window.innerWidth,
    height: window.innerHeight
  });

  useEffect(() => {
    const handleResize = () => {
      setResolution({
        width: window.innerWidth,
        height: window.innerHeight
      });
    };

    window.addEventListener('resize', handleResize);
    return () => window.removeEventListener('resize', handleResize);
  }, []);

  return (
    <div>
      <p>Width: {resolution.width}px</p>
      <p>Height: {resolution.height}px</p>
    </div>
  );
}

使用自定义Hook

可以创建一个自定义Hook来复用屏幕分辨率逻辑:

import { useState, useEffect } from 'react';

function useScreenResolution() {
  const [resolution, setResolution] = useState({
    width: window.innerWidth,
    height: window.innerHeight
  });

  useEffect(() => {
    const handleResize = () => {
      setResolution({
        width: window.innerWidth,
        height: window.innerHeight
      });
    };

    window.addEventListener('resize', handleResize);
    return () => window.removeEventListener('resize', handleResize);
  }, []);

  return resolution;
}

注意事项

  • window.screen返回的是显示器的物理分辨率,而window.innerWidthwindow.innerHeight返回的是浏览器视口的大小。
  • 在服务器端渲染(SSR)时,window对象不可用,需要做兼容处理。
  • 移动设备可能有不同的像素密度,需要考虑设备像素比(window.devicePixelRatio)。

分享给朋友:

相关文章

react如何保养

react如何保养

保持组件简洁 将大型组件拆分为更小、更专注的组件,每个组件只负责单一功能。避免在单个组件中处理过多逻辑或状态,这有助于提高可维护性和可测试性。 合理使用状态管理 根据应用复杂度选择状态管理方案。简单…

react如何销毁

react如何销毁

React 组件销毁的机制 在 React 中,组件的销毁通常由 React 的生命周期管理。当组件从 DOM 中移除时,React 会自动触发销毁相关的生命周期方法。以下是关键点: 组件的销毁通常…

react 如何分页

react 如何分页

分页实现方法 在React中实现分页功能可以通过多种方式完成,具体取决于数据来源(如API或本地数据)和UI库的选择。以下是常见的实现方法: 使用本地数据分页 对于存储在组件状态或Contex…

如何下载react

如何下载react

下载 React 的方法 通过 npm 或 yarn 安装 React 可以通过包管理器 npm 或 yarn 安装。确保已安装 Node.js(包含 npm),然后在项目目录中运行以下命令:…

react如何衰减

react如何衰减

React 中的动画衰减效果实现 在 React 中实现衰减效果(如滚动衰减、拖动释放后的惯性滑动)通常需要结合物理动画原理或第三方动画库。以下是几种常见方法: 使用 CSS 动画和 @keyf…

react如何调试

react如何调试

调试 React 应用的方法 使用 React Developer Tools React Developer Tools 是 Chrome 和 Firefox 的浏览器扩展,可以检查组件树、状态和…