React JSX高图不会更新

时间:2018-08-02 07:15:32

标签: javascript reactjs highcharts react-highcharts

我目前正在使用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);
 });
}
  • 从componentDidUpdate调用该函数,并使用父组件的set状态将行作为props接收。 因此,基本上,当我收到新的道具时,我会用新的数据创建图形(然后我们又回到了图形无法正确更新的问题)。

0 个答案:

没有答案