React / React-Native самый эффективный способ подписки на onChange - PullRequest
0 голосов
/ 15 мая 2018

Я делаю собственный проект реагирования при использовании оболочки для 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.Я все еще пытаюсь улучшить код.

Итак, вопрос в том, какой самый эффективный способ подписаться на изменения, которые происходят очень часто, и которые должны отражаться мгновенно?

1 Ответ

0 голосов
/ 15 мая 2018

Возможное решение - газ такого рода события (прокрутка и т. Д.)

...