1

我正在使用react-device-detect包来检测请求是来自移动设备还是桌面设备,它当然使用用户代理来做到这一点。

在我的 NextJS 项目中,我想在 SSG 页面上使用它。

导入包

import { isMobile, getUA, getSelectorsByUserAgent } from 'react-device-detect';

并使用getStaticProps这样的

export async function getStaticProps(context) {

  // Device React
  const deviceIsMobile = isMobile;

  const deviceType = deviceIsMobile ? 'Yes, I am a mobile' : 'Nope, Desktop!';

  return {
    props: {
       mobileDevice: deviceType
    }, // will be passed to the page component as props
  }
}

最后在我的页面功能中

function AwesomePage( { mobileDevice } ) {
    return(
         <h1>{ mobileDevice }</h1>
    )
}

不管我总是看到“不,桌面!”。

react-device-detect我注意到的一些示例中,我们可能会使用userAgent来自req参数的,但getStaticProps甚至提供了,我检查了一下,似乎没有?这有什么办法?我只是想通过getStaticProps.

谢谢!

4

0 回答 0