React Native 上的 GraphQL Apollo 类型生成

Posted

技术标签:

【中文标题】React Native 上的 GraphQL Apollo 类型生成【英文标题】:GraphQL Apollo types generation on React Native 【发布时间】:2021-08-29 07:55:18 【问题描述】:

我正在使用

Neo4J 4.2 阿波罗服务器 GraphQL & @neo4j/graphql(从 schema.graphql 生成 Neo4J 类型) Expo React Native + Apollo 客户端 打字稿

我想通过关注this tutorial 为 GraphQL 查询生成 TS 类型。

By default apollo-cli 会在 ./src 文件夹中查找,但在 React Native 中我没有这样的文件夹,它都在根目录中。因此,当我尝试像这样为 apollo 客户端更改 includes 配置时:

<root>/apollo.config.js

module.exports = 
  client: 
    includes: ['**/*.ts,tsx'],
  ,
;

跑步

> apollo codegen:generate --endpoint=http://localhost:4001/ --target=typescript --tagName=gql

导致:

Error: Error initializing Apollo GraphQL project "Unnamed Project": Error: Error in "Loading queries for Unnamed Project": Error: ️️There are multiple definitions for the `OpName` operation. Please rename or remove all operations with the duplicated name before continuing.

【问题讨论】:

【参考方案1】:

几个小时后,我使用以下配置解决了这个问题:

module.exports = 
  client: 
    includes: ['graphql/**/*.ts'],
  ,
;

我的猜测是 apollo-cli 在所有 React Native 生成​​的代码中发现了一些 gql 标签。

附:我尝试使用特定的关键字,以便 Google 将这个结果显示给遇到相同问题并被卡住的人。

【讨论】:

以上是关于React Native 上的 GraphQL Apollo 类型生成的主要内容,如果未能解决你的问题,请参考以下文章

react-native android应用程序发布版本上的Graphql网络错误

是否有任何本地 GraphQL 数据库用于 react-native?

如何在组件 React / React-native 的单独页面中使用动态 graphql(字符串)

使用 Relay + React Native (create-react-native-app) 时出错:GraphQL 验证错误`未知类型“查看器”。`

仅返回选定字段 React Native / GraphQL / Amplify

无法在 GraphQL 突变中传递数组 - React Native