我目前正在使用React JSX Highcharts模块来创建一个图表,该图表可以动态显示多个样条系列(使用.map函数)
我有一个名为DataLines的全局变量, 在我的渲染函数中,我这样写:
{DataLines.map(Line,index)=>
<SplineSeries key={index} id={Line.id} name={Line.name} data={Line.points}/>}
当数据线包含两条线时,图表将正确显示它。 但是,当我从DataLines中删除第一行时,它从图表中删除了第二行(由图表底部的行名称显示),并且即使我们重新渲染了图表,其本身也没有实际改变使用新的DataLines。
此外,如果我的图表中只有一条线,而我更改了数据线以容纳另一条单独的线,则它根本不会更新图表。
使用控制台日志,我看到发送到render函数的数据是正确的。
是什么原因引起的,如何解决? 这是模块的已知问题吗?
谢谢!
编辑: 我的服务器正在c#中使用Signalr,因此共享它会更加复杂,但这是触发图表更新的事件:
createDataLines(lines){
lines.foreach(l=>{
lNewLine={
name:l.name,
id:l.id,
points:l.points,
}
l.points.foreach(p=>{
point={
x:p.time,
y:p.height,
}
lNewLine.points.push(point)
})
this.state.DataLines.push(lNewLine);
});
}