我正在使用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
.
谢谢!