Я использую highcharts-react-official для рендеринга компонента HighchartsReact. Он отображается и работает должным образом, пока я не перерисую компонент. При изменении состояния диаграмма будет уменьшаться по вертикали.
Я экспериментировал с настройкой перекомпоновки в параметрах диаграммы, а также с переключением флагов allowChartUpdate и immutable на самом компоненте, но безрезультатно.
const ChartView = props => {
const { data } = props;
if(data.highstockData && data.startDate && data.endDate) {
const min = parseInt(moment(data.startDate, 'x').startOf('day').format('x'));
const max = parseInt(moment(data.endDate, 'x').startOf('day').format('x'));
const chartOptions = getChartConfig(data.highstockData, min, max);
return (
<HighchartsReact
highcharts={Highcharts}
options={chartOptions}
/>
)
}
return null;
};
И возврат рендеринга родительского компонента:
return (
<div className="vertical-margin">
{isFetching && !data && <LoadingView/>}
{hasError && !data && <ErrorView/>}
{
data &&
<React.Fragment>
{buttonRow}
<ChartView
data={data}
/>
</React.Fragment>
}
</div>
)
Как я уже сказал, повторный рендеринг по любой причине приводит к уменьшению высоты верхней диаграммы при каждом повторном рендеринге. Для тестирования я вызываю эту строку:
this.setState({});
Я мог бы опубликовать конфигурацию диаграммы, если это необходимо, но в этом нет ничего особенного.
Я не смог найти никого, у кого была бы эта проблема, и рвал на себе волосы в поисках ответа.