Я пытаюсь отменить вызов метода: "chart.calculateChartData (props.answers)".
Я попытался: - автозапуск - реакция - использовать-отменить из библиотеки реагировать. - setTimeout в CalculateChartData
Каждое решение приводило к циклу обновления или не работало, потому что MobX не является неизменным.
Есть кто-то подсказка?
function QuantificationChart(props: QuantificationChartProps) {
const {t} = useTranslation();
const rootStore = useRootStore();
const chart = rootStore.formulaStore.getChart<Chart>(Chart.chartName);
const data = chart.calculateChartData(props.answers);
calculateChartData = (questionData: { [id: string]: number; } = {}) => {
let chartData = [];
for (let i = 0; i < this.numberOfYears + 1; ++i) {
let customData = {...questionData, "year" : i};
let chartEntry = {
cost: this.rootStore.formulaStore.calculateFormula(this.cost.formula, customData),
earn: this.rootStore.formulaStore.calculateFormula(this.earn.formula, customData),
sum: 0
};
chartEntry.sum = (chartEntry.earn - chartEntry.cost) + (chartData[i - 1]?.sum || 0);
chartData.push(chartEntry);
}
return chartData;
};
Подсказка: это мой первый проект с MobX