提问人:Link Lin 提问时间:7/15/2023 更新时间:7/15/2023 访问量:40
ReferenceError:窗口未定义 - 有没有办法在加载之前获取设备的宽度?
ReferenceError: window is not defined - is there a way to get the width of the device before loaded?
问:
在NextJs page.jsx中,useState中会出现错误: ReferenceError:未定义窗口。 我认为原因是由于组件尚未安装,因此找不到窗口。 但是,我想获取设备的宽度,以确定我正在使用的设备,以便获得适量的数据。有没有其他方法可以做到这一点??
export default function Home() {
const applicationLimitWidth = 768;
const queryClient = new QueryClient();
const [windowWidth, setWindowWidth] = useState<number>(window.innerWidth);
const [isMobile, setIsMobile] = useState<boolean>(
windowWidth >= applicationLimitWidth ? false : true
);
useEffect(() => {
window.addEventListener("resize", () => {
setWindowWidth(window.innerWidth);
});
}, []);
我试图在加载后获取宽度,但在这种情况下,它没有再次渲染。
答: 暂无答案
评论
if (typeof window !== "undefined")