ReactJS 中的 D3 拖动+缩放

pas*_*sql 6 zooming drag d3.js reactjs

是否可以将以下 D3 片段翻译为“纯”ReactJS,以避免与 D3 中的 DOM 进行任何交互(让 React 来处理它)?

// Dragging an SVG `g` element
d3Select(this.g)
  .call(
    d3Drag()
      .on('start', this.handleDragStarted)
      .on('drag', this.handleDragged)
      .on('end', this.handleDragEnded)
  );

// Zooming
d3Zoom()
  .on('start', this.handleZoomStart)
  .on('zoom', this.handleZoom)
  .on('end', this.handleZoom);
Run Code Online (Sandbox Code Playgroud)