Я делаю собственный проект реагирования при использовании оболочки для MPAndroidChart (act-native-charts-wrapper), но я думаю, что этот вопрос выходит за рамки моего варианта использования.
Внутри компонента, который отображает дваДиаграммы, я использую диаграммы onChange prop, чтобы установить положение второго графика, и наоборот, так как они показывают данные за один и тот же масштаб времени (см. рисунок).Вот метод:
syncToChart2(event) {
if (
event.action === 'chartScaled' ||
event.action === 'chartTranslated'
) {
let { scaleX, scaleY, centerX, centerY } = event;
this.chart2Zoom = {
scaleX: scaleX,
scaleY: scaleY,
xValue: centerX,
yValue: centerY
};
}
}
В настоящее время графики слишком медленно синхронизируются с преобразованиями, как можно увидеть здесь: медленная синхронизация преобразования
Ранее я использовал setState дляподписаться на изменения, но это было медленнее, чем использование наблюдаемого декоратора MobX, эффект которого можно увидеть в GIF.Я все еще пытаюсь улучшить код.
Итак, вопрос в том, какой самый эффективный способ подписаться на изменения, которые происходят очень часто, и которые должны отражаться мгновенно?