当前位置:首页 > 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 实现需要理解其核心概念:虚拟 DOM、组件、状态管理和渲染。以下是一个简化版的 React 实现。 创建虚拟 DOM 虚拟 DOM 是真实 D…

如何配置react

如何配置react

配置React项目的步骤 安装Node.js和npm 确保系统已安装Node.js(包含npm)。可通过官网下载并安装最新版本。安装完成后,运行以下命令验证版本: node -v npm -v 创建…

react如何开发

react如何开发

React 开发基础步骤 安装 Node.js 和 npm/yarn 确保系统已安装 Node.js(包含 npm)或 Yarn。React 项目依赖这些工具管理包和运行脚本。官方推荐使用 Node.…

react 如何启动

react 如何启动

创建 React 项目 使用官方工具 create-react-app 快速初始化项目,需提前安装 Node.js(版本 ≥ 14.0.0)和 npm/yarn: npx create-react-…

react如何分

react如何分

React 分页实现方法 在 React 中实现分页功能可以通过多种方式完成,以下是几种常见的方法: 使用状态管理分页数据 在组件内部维护当前页码和每页数据量的状态,通过计算切片数据实现分页。…

react如何启动

react如何启动

启动 React 项目的步骤 确保已安装 Node.js React 需要 Node.js 环境运行,建议安装最新稳定版(LTS)。可通过以下命令检查是否已安装: node -v npm -v…