在渲染包含一堆矩形的SVG时,使用D3,React,Redux Web应用程序并遇到一个有趣的错误。
申请摘要
- 我们使用D3 Partition Layout生成一个巨大的(~3000)节点列表来设置适当的布局属性(x,y,dx,dy)。
- 我们使用React / Redux来存储此状态,并最终为图表呈现SVG。
醇>
问题
- 渲染的SVG中的某些节点(呈现为rects)根本不显示!
理论
- 最初,我们认为我们有一个关于如何生成矩形的错误,但结果并非如此(具有正确属性的dom中存在Rects)。
- 我们正在渲染除了rects之外的其他东西,所以当浏览器绘制所有东西时我们认为这些是冲突的。这似乎并非如此,因为我们禁用了所有其他项目,我们仍然看到了问题。
- 渲染rects时可能是browser bug。我们的应用程序目前甚至无法在Firefox上正常呈现,因此它可能与我们如何生成SVG有关。
醇>
示例
以下是我们所谈论的一些例子。
以下是使用其所有节点正确呈现图表的示例。
以下是缺少部分节点的图表渲染示例:
这是一个相同图表的示例,在我们alt选项卡几次之后神奇地破坏了:
问题
我们正在寻找的是来自SVG渲染经验丰富的人们的想法。有很多可能性,但我们不确定我们应该考虑哪个方向。
谢谢!