То, как вы используете useEffect
, сейчас будет работать только один раз, когда компонент монтируется.Вам нужно добавить прослушиватель события в событие resize и затем вызвать setBasicInfoImageWidth
useEffect(() => {
window.addEventListener('resize', () => setBasicInfoImageWidth(
basicInfoImage.current.getBoundingClientRect().width
));
});
Вероятно, было бы проще решить это с помощью CSS, хотя без рабочего примера было бы труднодать вам рабочий фрагмент.Если вы добавите ссылку jsfiddle, я буду рад помочь вам с CSS