Just to say, D3 is entirely the &#x27;re-rendery &quot;DOM as a pure function of state&quot;&#x27; approach. `el.__data__` is just optimisation (if you&#x27;re only using d3). You should be able to `setInterval(yourD3Code, 16)` if you&#x27;re writing idiomatic d3.