Используйте useLayoutEffect()
в React, окончательный код для обновления должен выглядеть следующим образом:
const [dimensions, setDimensions] = useState([0, 0]);
useLayoutEffect(() => {
function updateSize() {
setDimensions([window.innerWidth, window.innerHeight]);
}
window.addEventListener("resize", updateSize);
updateSize();
return () => window.removeEventListener("resize", updateSize);
}, []);
, а затем вызывать размеры для получения высоты и ширины.