当前位置: 首页 > 知识库问答 >
问题:

ReactJS:如何确定应用程序是在移动浏览器还是桌面浏览器上查看

顾斌
2023-03-14

在ReactJS中,是否有一种方法可以确定网站是在移动端还是桌面端被浏览?因为,根据我想要呈现的设备不同。

谢谢

共有2个答案

杜元明
2023-03-14

您可以使用React Device Detect软件包

要安装,您可以使用npm或YARN:

# For NPM:
npm install react-device-detect --save

# For Yarn
yarn add react-device-detect

示例:

js prettyprint-override">import {BrowserView, MobileView} from 'react-device-detect';

const MyComponent = () => {
    return (
        <>
            <BrowserView>
                <h1>This is rendered only in browser</h1>
            </BrowserView>
            <MobileView>
                <h1>This is rendered only on mobile</h1>
            </MobileView>
        </>
    );
};

如果不需要视图,可以使用ismobile进行条件呈现

import {isMobile} from 'react-device-detect';

const MyComponent = () => {
    if(isMobile) {
        return (
            <div> This content is unavailable on mobile</div>
        )
    }
    return (
        <div> content... </div>
    );
};

摘自React Device Detect自述文件,稍作修改

欧浩淼
2023-03-14

使用反应钩的简单解决方案

const [width, setWidth] = useState<number>(window.innerWidth);
function handleWindowSizeChange() {
        setWidth(window.innerWidth);
    }
useEffect(() => {
        window.addEventListener('resize', handleWindowSizeChange);
        return () => {
            window.removeEventListener('resize', handleWindowSizeChange);
        }
    }, []);

let isMobile: boolean = (width <= 768);
 类似资料:
  • 问题内容: 在我的PHP页面中,根据页面是在移动浏览器还是桌面浏览器下运行,我应该显示两种不同的文本内容。有没有办法在PHP中执行此控件? 问题答案: 这里有一个非常好的PHP库,用于检测移动客户端使用它,仅显示移动内容非常容易:

  • 问题内容: 我已经看到许多网站都可以在桌面浏览器和手机浏览器上做出响应,我正在一个网站上工作,并且设置了以下样式表: ) 但是,我上面的样式表似乎只能在桌面浏览器上工作。(已使用Android Firefox和Sony Xperia Ray上的默认Android浏览器进行了测试) 希克斯(Hicks)设计网站的规则与我的非常相似,但是它们使用了最小值和最大值,但对我来说似乎都不适用于移动和桌面浏览

  • 如何使用普通的javascript、纯HTML和CSS来检测不依赖屏幕分辨率的移动设备?

  • 本文向大家介绍js判断浏览器的环境(pc端,移动端,还是微信浏览器),包括了js判断浏览器的环境(pc端,移动端,还是微信浏览器)的使用技巧和注意事项,需要的朋友参考一下 今天突然看到一段很好的代码,分享给大家,顺便也给自己留个笔记,js判断浏览器的环境具体如下: 方法一: 方法二:这个方法摘自:im.qq.com 判断是否为微信客户端: 代码1 代码2 判断微信浏览器是PC端还是手机端,以及手机

  • 问题内容: 我观看了此视频( 而不是 在未来。但是,当我在量角器首页(位于git hub上)上查看文档时,其最新示例仍在使用浏览器。 我想知道是否有人知道要使用的机芯 还在发生? 提前非常感谢您! 问题答案: 使用已过时,您应该从现在开始切换到。 关于导航到页面的现代方式,请使用: 如果不是角度页面,则

  • 问题内容: 我需要一些返回布尔值的函数来检查浏览器是否为Chrome。 如何创建此类功能? 问题答案: 更新:以获取更新的处理方式。以下答案可能仍然有效,但可能会在其他浏览器中引发误报。 但是,如前所述,用户代理可以被欺骗,因此在处理这些问题时总是最好使用功能检测,如其他答案所述。