Я пытаюсь заставить мою радиальную диаграмму, полученную от ApexCharts, реагировать на ее масштабирование (используя его в моем веб-приложении React.js). Я пробовал несколькими способами, например, установить прослушиватель событий на изменение размера окна и обновить переменную состояния, из которой я получаю ширину, или обновить ее автоматически, создавая своего рода медиа-запрос JS (изменить его невозможноразмер через css, поскольку это SVG), но ничего не помогло.
Еще одна попытка работает с использованием кода в componentDidMount, но, конечно, только если я перезагружаю страницу, потому что компонент должен быть смонтирован.
Я опубликую соответствующий код здесь, ниже, из попытки прослушивания событий.
state = {
elemWidth: 500,
many options about the chart, like colors and blabla..
}
componentDidMount() {
window.addEventListener('resize', () => {
let widthElem = window.innerWidth * 0.50;
this.setState({elemWidth: widthElem})
})
}
render() {
return (
<div className='Chart'>
<ReactApexChart options={this.state.options} series={series} type="radar" width={`${this.state.elemWidth}`} />
</div>
}
);