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包装组件,以防止不必要的重新加载