javascript - 对父组件进行大型查询还是对每个子组件进行一系列小查询?

标签 javascript reactjs web-applications graphql react-apollo

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

是否最好在父应用程序上执行一个大型查询来获取子组件所需的所有内容(然后通过 props/state 传递),或者只是将参数传递给子组件并让每个子组件执行自己的组件较小的查询?

最佳答案

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

示例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

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

如果您需要获取所有内容,最好有一个大请求。只需确保应用程序的后端能够以良好的性能正确处理它。有时,最好发出第一个简单请求以开始向用户显示某些内容,然后发出第二个请求以获取在后端难以计算的内容。

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

关于javascript - 对父组件进行大型查询还是对每个子组件进行一系列小查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48384171/

相关文章:

javascript - 当我点击我网站的某些部分时,使用 pushState 函数更改的 URL 被删除

javascript - 通过 javascript 或 jquery 中的 curl 请求将值发布到 golang

javascript - 移动设备上的奇怪行为 html5 视频

javascript - 我在 Node.js Express 中遇到一些关于路由的问题

javascript - 访问 html 表中的行

javascript - HTML 表格可选行 Javascript 包

javascript - 如何将表单验证错误更改反射(reflect)到 CSS?

reactjs - TypeError : braintree. 连接不是函数

web-applications - Web 应用程序的 SSL 证书

azure - 在 Azure 中设置和部署多部分 Web 应用程序