I get your point and tend to agree; the issue I have is that d3 drawing and updating, along with internal events (i.e. d3 custom dragndrop implementation) don't play nicely together with React (or Angular or Vue, for that matter). But I admit, I wouldn't know how to improve on that.