Есть элементарный кастомный хук
function useResize() {
const [width, setWidth] = useState(window.innerWidth);
useEffect(() => {
const handleResize = () => {
setWidth(window.innerWidth);
};
const handleOrientationChange = () => {
setWidth(window.innerWidth);
};
window.addEventListener("resize", handleResize);
window.addEventListener("orientationchange", handleOrientationChange);
return () => {
window.removeEventListener("resize", handleResize);
window.removeEventListener("orientationchange", handleOrientationChange);
};
}, []);
return width;
}
export default useResize;
Дебажу в Хроме. При повороте девайса в ландшафт ширина обновляется правильно, становится условно 700. При развороте обратно - ширина окна не обновляется, так 700 и остается. Код простой как двери, не могу понять в чем дело.