試圖將Mike Bostock的zoomable treemap轉換爲React組件。部分方式,但不確定在數據取決於呈現的DOM(即寬度)時,在組件之間傳遞數據的最佳方式。帶D3js樹形圖的Reactjs
跨過本史密斯的blog有關混合React和D3js。好東西。
使用Bootstrap控制CSS樣式。所限定的SVG元素以相對容器(基本上是這樣blog)內的絕對位置和最大寬度(100%):
.svg-container {
position: relative;
padding-bottom: 30%;
overflow: hidden;
}
.svg-content {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
所以的SVG元素變化的屏幕的寬度被調整大小。假設treemap節點屬性如x,y,dx,dy必須固定值而不是過程。思考我必須觀察窗口的resize事件,選取新的svg元素尺寸(「parseInt(d3.select('。svg-content').style('width'),10);」)並強制Reactjs重新-render(「React.renderComponent」)。
我不確定問題是什麼:你不確定如何訪問SVG的高度和寬度,或者只是不確定如何將動態高度和寬度與樹形圖佈局集成? – AmeliaBR
會重寫這個問題。 –