Есть элемент в котором SVG и функция для определения ширины окна, которая задает ширину SVG
Функция handleResize определяет ширину div и назначает при изменении новый элемент SVG c props
//Здесь происходит определение ширины SVG
componentDidMount() {
var width = this.props.width;
}
//В родителе
handleResize(e) {
//Не работает, ширина CoreENGChart остается прежней
this.setState({ chart: <CoreENGChart width={document.getElementById("mydiv").offsetWidth} /> });
console.log( document.getElementById("mydiv").offsetWidth );//работает, выдает ширину
}
componentDidMount(){
window.addEventListener('resize', this.handleResize);
//Задаем стейт первый раз и все работает
this.setState({ chart: <CoreENGChart width={document.getElementById("mydiv").offsetWidth } />});
}
'''
render() {
return (
<div id="mydiv">
{this.state.chart}
</div>
);
}
Почему может не работать?