1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| 'use client';
import { useEffect, useState } from 'react';
export default function WindowSize() {
const [size, setSize] = useState({ width: 0, height: 0 });
useEffect(() => {
// クライアントサイドでのみ実行
setSize({
width: window.innerWidth,
height: window.innerHeight
});
const handleResize = () => {
setSize({
width: window.innerWidth,
height: window.innerHeight
});
};
window.addEventListener('resize', handleResize);
return () => window.removeEventListener('resize', handleResize);
}, []);
return <p>Window: {size.width} x {size.height}</p>;
}
|