Can anyone say what this SVG support means for d3.js integration?
It's great for...
- Static D3 components or other such libraries (things like Backbone should work too!)
- D3 components with simple state and event interaction, like tooltips on charts
- D3 components such as progress bars that can be animated using react-motion, for example
It's not so great for...
- Physics based D3 components or anything using a lot of DOM mutation and state
- Linked to the previous one, brushing and filtering of selections using the built in stateful D3 tools
- Essentially: Anything with a lot of DOM mutation from timers, events or internal state will be hard to useation from timers, events or internal state will be hard to use
But I've mutated state in an onMouseOver event, redrawn and it's buttery smooth. node
.on("mouseover", (d) => window.requestAnimationFrame(() => this.setState({selectedElementId: d.id})))
.on("mouseout", (d) => window.requestAnimationFrame(() => this.setState({selectedElementId: 0})))
node.filter((d) => d.id === this.state.selectedElementId)
.select("text")
.style("text-decoration", "underline")
.style("font-weight", 'bold');