Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在慢速渲染组件之间传输数据?_Javascript_Reactjs_Recharts - Fatal编程技术网

Javascript 如何在慢速渲染组件之间传输数据?

Javascript 如何在慢速渲染组件之间传输数据?,javascript,reactjs,recharts,Javascript,Reactjs,Recharts,我有三个组件:PlotCollection、Plot和Tooltip。在PlotCollection内部,有多个Plots显示不同的数据集(带有RECHART)。绘图旁边有一个区域工具提示,根据鼠标的当前位置显示有关数据的信息。因此,结构如下所示: <PlotCollection> <Plot/> <Plot/> <Plot/> <Plot/> <Tooltip> </PlotCollection&

我有三个组件:
PlotCollection
Plot
Tooltip
。在
PlotCollection
内部,有多个
Plot
s显示不同的数据集(带有RECHART)。绘图旁边有一个区域
工具提示
,根据鼠标的当前位置显示有关数据的信息。因此,结构如下所示:

<PlotCollection>
  <Plot/>
  <Plot/>
  <Plot/>
  <Plot/>
  <Tooltip>
</PlotCollection>


现在,我将当前moue位置数据保存在
PlotCollection
状态中。我用我给每个
绘图的函数更新它。然后我将数据作为道具发送到工具提示
。但是,这意味着每次移动鼠标时,
PlotCollection
的状态都会改变,因此会触发重新渲染。这导致了非常滞后的行为,因为网站上显示了许多不同的内容。因此,我认为最好直接将数据从每个
绘图
发送到
工具提示
,而不更改
绘图集合的状态。这可以通过React上下文或Redux实现。您认为这会解决性能差的问题吗?

绘图组件是否重新招标并导致性能问题?如果是,您可以尝试使用React.memo包装组件,以防止不必要的重新加载