1

Currently, you can easily sync two charts by using the syncId property, like in this fiddle.

I'd like to design something with D3, outside of Recharts scope. Is it possible to catch events or callbacks allowing me to sync my custom component the same way two Recharts components does?

Thanks

4

2 回答 2

0

@guillaumepotier,你测试过你的方法了吗?

从我看到的情况来看,您不能只在导入 eventCenter 后触发事件,因为您不会获得与 recharts 图表相同的实例。每次导入都会返回一个新的事件中心实例,因此即使您触发了事件,图表也不会收到它,因为它不是同一个事件中心。

于 2019-10-25T04:40:57.030 回答
0

抱歉,在花时间深入搜索之前,问题问得太快了。AFAIK,这不是在文档中编写和鼓励的,但您完全可以依靠内部事件发射器来监听同步事件并触发同步事件。

我的代码

import { eventCenter, SYNC_EVENT } from 'recharts/lib/util/Events';

// [...]

eventCenter.on(SYNC_EVENT, (cId, chartId, data) => {
  console.log(cId, chartId, data);
});

// [...]

此处实际组件行为的启发

于 2018-10-17T13:54:41.657 回答