我跟随this tutorial for React and d3一起关注,现在我尝试使用状态所遵循的架构。
我正在更改从
提供初始状态的功能var randomData = [];
d3.range(settings.numDataPoints).forEach(function() {
var newNumber1 = Math.floor(Math.random() * settings.maxRange());
var newNumber2 = Math.floor(Math.random() * settings.maxRange());
randomData.push([newNumber1, newNumber2]);
});
到
var randomData = d3.range(settings.numDataPoints).map(function(thisPoint) {
var newNumber1 = Math.floor(Math.random() * settings.maxRange());
var newNumber2 = Math.floor(Math.random() * settings.maxRange());
return {ind: thisPoint, coords: [newNumber1, newNumber2]};
});
因此,我还必须从
更改DataCirclesrenderCircles()
函数
renderCircles: function(coords) {
var props = {
cx: this.props.xScale(coords[0]),
cy: this.props.yScale(coords[1]),
r: 2,
key: uuid.v4()
};
return (
<circle {...props}>
</circle>
);
}
到
renderCircles: function(coordsObj) {
var props = {
cx: this.props.xScale(coordsObj.coords[0]),
cy: this.props.yScale(coordsObj.coords[1]),
r: 2,
key: uuid.v4()
};
return (
<circle {...props}>
</circle>
);
}
这会导致教程中创建的XY网格上所有先前很好渲染的点消失,只留下一个空白图形:
我已记录两个功能范围内的对象,并验证数据是否正确生成。它有什么问题?
答案 0 :(得分:1)
你正在改变randomData的结构,我想你错过了它也是sizeof(mpz_t)
组件的道具,所以你也需要更新它:
mpz_t