graphql - Gatsby 将 graphql 数据与动态数据合并
问题描述
我有一个用 gatsby 制作的网站,其中包含一些静态数据(项目目录),但是在运行时当用户登录时,它会向 api 发出请求以获取他们有权访问的项目列表(这仅返回一个id 的列表。
是否有可能(这样做是否有意义) - 到:
- 在规范化列表中返回 graphql 项目数据,以便我可以轻松查找项目 ID,然后呈现到列表中?
所以基本上
items = { 1: { title: 'itemA', price: 1 }, 2: { title: 'itemB', price: 2 }}; // from a Gql query
userItems = [1, 3, 5]; // from a dynamic fetch request
userItems.map(id => <Item {...items[id] } />) // easy lookup of item info
我知道如果我不使用 Gql,我可以只获取项目的 json 数据,并在服务获取它时将其与用户数据合并,或者就像我上面的示例一样,因为我将控制 json 的结构数据,我只是想利用 gql 来学习它,因此项目数据可以在可能完全静态的不同页面上重复使用(例如所有项目的列表),然后我可以选择哪些项目属性我想。
我的数据目前是一个项目数组,就好像我将它存储为项目的键控对象然后通过 json 转换器将其提供给 gql,我的每个节点都不同,所以我似乎无法获取列表的所有项目。
解决方案
推荐阅读
- spring-retry - 当@Retryable中不包含异常时,Sping重试抛出RetryExhaustedException
- python - sklearn 混淆矩阵:ValueError:没有足够的值来解包(预期 4,得到 1)
- javascript - Flask 和 GoogleMaps Api Javascript
- excel - MSWord如何取消链接/断开第一个链接到excel文档,而不破坏剩余的超链接集
- sql - SQL在unnest中返回最大值
- sharepoint - PowerApps 中的 Sharepoint ID 搜索
- asp.net-mvc - 端点未找到 MVC
- jquery - jquery - 更改值,并重新读回第二个函数
- java - 我们可以将 Archetype 22 用于 AEM 版本 6.4.2 吗?
- c - 如何在 c 中使用带参数的函数指针?