Javascript 在Reactjs应用程序中,我应该在哪里获取数据?

Javascript 在Reactjs应用程序中,我应该在哪里获取数据?,javascript,database,reactjs,firebase,redux,Javascript,Database,Reactjs,Firebase,Redux,我一直在创建一个Reactjs应用程序。我遇到了一个问题,想知道从firebase哪里获取数据。在根组件(App.jsx)或单个组件中获取数据集合更好吗 目前,我拥有用户、产品和销售集合。某些组件使用来自同一集合的数据。例如:支付组件还使用销售收集数据进行分析 案例1:如果在根组件中获取数据,则不必在组件内部获取数据 案例2:如果我获取组件内部的数据,我将为不同路由中的不同组件获取两次相同的数据 请告诉我处理这种情况的更好方法。您在问题中标记了Redux,因此我假设您正在React应用程序中使用

我一直在创建一个Reactjs应用程序。我遇到了一个问题,想知道从firebase哪里获取数据。在根组件(App.jsx)或单个组件中获取数据集合更好吗

目前,我拥有用户、产品和销售集合。某些组件使用来自同一集合的数据。例如:支付组件还使用销售收集数据进行分析

案例1:如果在根组件中获取数据,则不必在组件内部获取数据

案例2:如果我获取组件内部的数据,我将为不同路由中的不同组件获取两次相同的数据


请告诉我处理这种情况的更好方法。

您在问题中标记了
Redux
,因此我假设您正在React应用程序中使用它


如果您使用的是
Redux
,请将所有回迁放在
操作
文件中。如果有其他组件正在侦听受提取影响的状态,它将自动重新呈现组件数据。无需执行两次提取。

案例1:-如果从根组件提取所有数据。你将在一开始处理大量数据,这将减慢应用程序的初始加载速度(但对于非常小的应用程序应该可以)。不建议用于中大型应用程序。
案例2:-这种方法很好,但会增加所有组件的一小部分延迟(用于从API获取数据),但如果您担心带宽使用和延迟的话。您应该考虑像redux这样的统一数据存储。 使用操作/副作用从redux/thunk等获取数据一次,并将其保存在redux存储中。在每个其他组件中使用相同的数据