reactjs - 如何在不修改原始数据的情况下编辑 Gatsby GraphQL 数据
问题描述
我正在使用 Gatsby 构建一个站点并从 WordPress 获取数据。
我受不了了,Node
所以我想清理数据。再次访问页面时会出现问题(没有浏览器刷新),它现在会引发Node
未定义的错误。
老实说,盖茨比文档一团糟,所以我仍然不知道 graphql 部分是如何工作的。
在index
文件中查询:
export const query = graphql`
query {
allWpMasina(limit: 6) {
nodes {
id
atrumkarbas {
nodes {
name
}
}
}
}
}
`;
所有汽车都只有一个“atrumkarbas”,所以我只想为它分配名称,而不是atrumkarbas.node[0].name
每次我想访问它时都写。
所以在索引页面中我添加了以下内容:
const IndexPage = ({ data: { allWpMasina } }) => {
let cars = allWpMasina.nodes;
cars.forEach((car) => {
car.atrumkarbas = car.atrumkarbas.nodes[0].name;
如您所见,它摆脱了.nodes[0].name
并且一切正常。但是当我重新访问该页面时:
Cannot read properties of undefined (reading '0')
我尝试添加let cars = allWpMasina.nodes.map()
所以它每次都复制它而不修改它,data.allWpMasina
但不知何故它仍然缓存它们并弄乱重新访问。
更改之前的控制台日志记录输出已经格式化的结果!如果我删除它,forEach
它会返回到节点节点节点,但是当我重新添加它时,它现在与执行之前allWpMasina
相同!cars
forEach
Gatsby 如何处理 Graphql 数据?如何在不影响原始数据的情况下进行复制和修改?
解决方案
推荐阅读
- angularjs - 如何在 AngulaJS 中更改文件名下载 Export Execl?
- typescript - TaggedTempalte 可以具有带有特定字符串文字参数的重载签名吗?
- r - 如何更改R中的班级间隔?
- javascript - Stripe.Customers.listSources 不返回任何内容
- docker - 在 docker 中安装 USB 卷
- ggplot2 - 如何显示网络人员的居住地以及他们的联系方式
- node.js - Puppeteer FileChooser 抛出“TypeError: undefined is not a function”???尝试打开 FileChooser 上传 IMG 时
- javascript - “同时”播放两个视频
- c# - 如何使用 iText/C# 更改 PDF 表单中的按钮图标
- asp.net-mvc - 我可以使用/移动 MVC 控制器作为 Azure 函数吗