加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

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

发布时间:2020-12-14 16:34:41 所属栏目:资源 来源:网络整理
导读:我正在使用React.js构建一个应用程序,其中包含相当多的svg图表.我正在使用d3函数来帮助创建图表,比如缩放,然后使用React生成svg元素.这是关于该方法的一篇很好的文章: http://10consulting.com/2014/02/19/d3-plus-reactjs-for-charting/ 我走这条路的部分
我正在使用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的情况下生成字符串表示,您需要修改其源代码(这将是一个非常重要的修改).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读