У меня есть страница с выпадающим меню, где я могу выбрать опцию (источник данных) и загрузить пару графиков. После этого при выборе другого источника данных диаграммы также должны обновляться.
При выборе другого источника данных диаграмма не обновляется. Я знаю, что моя переменная корректно обновляется, и что мой вызов диаграммы использует эту же переменную.
Здесь основной модуль
function Content() {
const [chartData, setChartData] = useState(
mockData.map(series => ({
...series,
data: series.data.map(point => {
const dateArr = point[0].split("-");
return [Date.UTC(dateArr[0], dateArr[1], dateArr[2]), point[1] * 100];
})
}))
);
const handleSelectedOptionChange = evt => {
const selectedOption = evt.target.value;
if (selectedOption === 1) {
setChartData(() => {
mockData.map(series => ({
...series,
data: series.data.map(point => {
const dateArr = point[0].split("-");
return [
Date.UTC(dateArr[0], dateArr[1], dateArr[2]),
point[1] * 100
];
})
}));
});
}
if (selectedOption === 2) {
setChartData(() => {
mockData2.map(series => ({
...series,
data: series.data.map(point => {
const dateArr = point[0].split("-");
return [
Date.UTC(dateArr[0], dateArr[1], dateArr[2]),
point[1] * 100
];
})
}));
});
}
};
return (
<>
<FormControl>
<InputLabel htmlFor="grouped-native-select">Choose</InputLabel>
<Select
id="selector"
name="selector"
onChange={handleSelectedOptionChange}
defaultValue={1}
>
<option value={1}>First</option>
<option value={2}>Second</option>
</Select>
</FormControl>
<Grid item xs={12} sm={12}>
<Paper>
<CustomGUIChart data={chartData} />
</Paper>
</Grid>
</>
);
}
Этот является "рабочим" "demo
Я проверил этот вопрос, мой HighchartsReact
уже установлен с allowChartUpdate
.
Также я проверил это вопрос, там есть несколько решений. Но я не мог реализовать ни один из них. Поскольку все они получают доступ к графику через JQuery
, и я не знаю альтернативы для случая react
.
И этого сообщения на форуме, я сталкиваюсь с той же проблемой, что и выше , это JQuery
вызов метода.
Ценю любую помощь.