Typescript & Gatsby:gatsby-plugin-ts + graphQL 查询集成

问题描述

我正在使用 gatsby-plugin-ts 为我的 graphql 页面查询生成类型。

我遇到的问题是生成的所有类型都为所有字段返回 T | undefined 类型,因此在任何组件中使用它们之前,我需要检查所有查询子字段,否则编译器会抛出错误。>

gatsby-plugin-image为例。给定一个查询

export const query = graphql`
  query IndexPage {
    banner: file(relativePath: { eq: "banner.jpg" }) {
      childImageSharp {
        gatsbyImageData(width: 1920)
      }
    }
  }
`;

结果 data.banner 应该传递给 getimage 函数,但如果您尝试这样做,typescript 可以理解地抛出以下错误,因为 undefined 不能分配给 IGAtsbyImageData 预期的 getimage {1}}

typescript error

当涉及到更复杂的查询时,情况更糟,比如来自 markdownremark 插件查询:每次都需要手动检查一个查询结果的所有子字段。有没有办法解决这个问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...