Я реализовал событие изменения размера окна при начальной загрузке компонента. Событие определяет внутреннюю ширину окна и сохраняет значение в хуке. Основываясь на хуке ширины, есть вторая функция useEffect, срабатывающая при изменении ширины:
export const AppRouter = (props) => {
const [width, setWidth] = useState(window.innerWidth);
useEffect(() => {
const handleResize = () => setWidth(window.innerWidth);
window.addEventListener('resize', handleResize);
return () => {
window.removeEventListener('resize', handleResize);
};
}, []);
useEffect(() => {
setAppLayoutForViewportWidth();
}, [width]);
}
Теперь неожиданное поведение: весь компонент перерисовывается при изменении хука ширины, а не только useEffect, основанный на хуке ширины ,
Может кто-нибудь назвать причину, почему весь компонент перерисовывается? Могу ли я перерисовать только useEffect на основе ширины?