代码之家  ›  专栏  ›  技术社区  ›  guillaumepotier

如何将Recharts图表与非Recharts图表的自定义内容同步

  •  1
  • guillaumepotier  · 技术社区  · 6 年前

    syncId 财产,比如 in this fiddle

    我想用D3设计一些东西,不在雷哈特的范围内。是否可以捕获事件或回调,使我能够像两个Recharts组件一样同步自定义组件?

    谢谢

    1 回复  |  直到 6 年前
        1
  •  0
  •   guillaumepotier    6 年前

    抱歉,问题问得太快了,还没来得及深入搜索。好吧,这不是文档中写的,也不是鼓励的,但是您完全可以依赖内部事件发射器来侦听同步事件并触发同步事件。

    我的代码

    import { eventCenter, SYNC_EVENT } from 'recharts/lib/util/Events';
    
    // [...]
    
    eventCenter.on(SYNC_EVENT, (cId, chartId, data) => {
      console.log(cId, chartId, data);
    });
    
    // [...]
    

    灵感来自 the actual component behaviour here

        2
  •  0
  •   brakon    5 年前

    据我所知,在导入eventCenter之后不能触发事件,因为您不会得到recharts图表具有的相同实例。每次导入都会返回一个新的eventcenter实例,因此即使您触发了事件,图表也不会收到它,因为它不是同一个eventcenter。