我正在使用MPAndroidChart(react-native-charts-wrapper)的包装器做一个本机项目,但我认为这个问题超出了我的用例。
在呈现两个图表的组件中,我使用图表onChange prop来设置第二个图表的位置,反之亦然,因为它们在相同的时间范围内显示数据(请参阅gif)。这是方法:
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
};
}
}
目前,图表同步转换速度太慢,如下所示: slow transformation sync
我之前使用setState来订阅更改,但这比使用MobX observable装饰器慢,其效果可以在gif中看到。我期待改进代码。
所以问题是,订阅一个经常发生并且需要立即反映的变化的最高效的方法是什么?