当前位置:首页 > 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

安装 Node.js 和 npm React 项目依赖 Node.js 环境,需先安装 Node.js(自带 npm)。访问 Node.js 官网 下载 LTS 版本,运行安装程序并完成配置。安装后,…

理解如何react

理解如何react

理解React的核心概念 React是一个用于构建用户界面的JavaScript库,专注于通过组件化开发提高代码的可维护性和复用性。其核心思想包括虚拟DOM(Virtual DOM)和单向数据流,能够…

如何安装react

如何安装react

安装React的方法 方法一:使用Create React App(官方推荐) Create React App是官方提供的脚手架工具,适合快速搭建React项目。确保已安装Node.js(建议版本≥…

react 如何遍历

react 如何遍历

遍历数组 在React中遍历数组通常使用map方法,它会返回一个新的数组。map是处理数组并渲染列表元素的首选方法。 const items = ['Apple', 'Banana', 'Cherr…

java如何react

java如何react

在Java中使用React 要在Java项目中集成React,通常需要将React前端与Java后端结合使用。以下是几种常见的方法: 使用Spring Boot作为后端 Spring Boot是一个…

react路由如何配置

react路由如何配置

React 路由配置方法 安装 React Router 使用 npm 或 yarn 安装 React Router 的 DOM 版本: npm install react-router-dom #…