如何使用d3生成svg客户端而不将其附加到DOM(与React.js一起使用)

前端之家收集整理的这篇文章主要介绍了如何使用d3生成svg客户端而不将其附加到DOM(与React.js一起使用)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用React.js构建一个应用程序,其中包含相当多的svg图表.我正在使用d3函数来帮助创建图表,比如缩放,然后使用React生成svg元素.这是关于该方法的一篇很好的文章http://10consulting.com/2014/02/19/d3-plus-reactjs-for-charting/

我走这条路的部分原因在于性能 – 该应用程序的第一个版本太慢了.它有很多元素和很多用户交互性,都是客户端的.我正在尝试基本上在React中重新创建dc.js库.

这是一种非常有趣的方法和直观(比单独使用d3的IMO更多).建筑轴虽然乏味,但d3做得很好.我希望d3能够输出一串表示轴(也可能是其他元素)的svg元素,并将它提供给React以包含在DOM中.

我确实看到了这个问题(How to make d3.js generate an svg without drawing it?),答案是将它附加到DOM中并删除它,或者创建一个DOM片段.这些方法违反了React方法,可能会否定React的性能优势.我也看到了jsdom和phantomjs解决方案,这在我的案例中是行不通的.

d3可以生成svg而无需将其附加到DOM吗?

解决方法

D3设计通过其选择直接在DOM上运行.要让它在不修改DOM的情况下生成字符串表示,您需要修改其源代码(这将是一个非常重要的修改).

猜你在找的HTML相关文章