希望不言自明。我正在构建一个React / Apollo应用程序,我想确保我正在使用最佳实践。

最好在父应用程序上执行单个大型查询,以获取孩子所需的一切(然后通过道具/状态传递),或者仅将参数传递给子组件,并让每个子组件执行自己的较小查询?

最佳答案

取决于您是否需要在应用初始化时渲染所有子代。

范例1:

parent -- page A (data 1) -> visible at initialisation
       -- page B (data 2) -> not visible at initialisation
       -- page C (data 3) -> not visible at initialisation


在这种情况下,仅获取页面A的数据(在页面A中)。

范例2:

parent -- element A (data 1) -> visible at initialisation
       -- element B (data 2) -> visible at initialisation
       -- element C (data 3) -> visible at initialisation


在这种情况下,获取所有内容(在父对象中)。

如果您需要获取所有内容,最好有一个大请求。只要确保您的应用程序后端可以正确处理它,并获得良好的性能即可。有时,最好先发出一个简单的请求以开始向您的用户显示某些内容,然后再提出第二项请求以使后端中的计算变得更困难。

此外,还有一条通用规则:对解决方案进行基准测试,比较结果并选择最佳解决方案。

10-08 15:49