reactjs - 如何为 graphql 生成 TypeScript 定义

标签 reactjs graphql apollo apollo-client

我有一个基于创建 react 应用程序和 TypeScript 的 react 应用程序。我想用 Apollo graphql 客户端替换 redux。我使用字符串模板在 .graphql 文件和/或 gql-Tag 中定义查询。我希望 apollo 的查询组件的结果/数据是强类型的,我该怎么做?无需自己编写接口(interface)和类型,我希望生成它们😬

最佳答案

有一个非常好的工具,叫做 Apollo codegen ,它是 apollo-cli 的一部分。

查看他们的文档:https://github.com/apollographql/apollo-cli#apollo-codegengenerate-output

生成 TypeScript 定义的示例如下:

  • 下载服务器的架构:

apollo schema:download .schema/graphql.json --endpoint=http://localhost:4000/

  • 生成查询类型:

apollo codegen:generate --schema=.schema/graphql.json --addTypename --target=typescript --queries=src/**/*.{tsx,ts} --outputFlat=src/查询

关于reactjs - 如何为 graphql 生成 TypeScript 定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52996488/

相关文章:

javascript - 如何在 Apollo 中使用乐观的 UI 处理删除突变?

reactjs - 使用react-hooks仅重新渲染一个 child

graphql - 如何将远程模式包装在另一个查询字段中?

reactjs - 如何在 Webpack 构建过程中将 React 应用程序中的 mockServiceWorker.js 文件复制到我的构建文件夹

node.js - 如何通过 Apollo 客户端在 NodeJS 中进行 GraphQL 订阅?

javascript - 更新 apollo 客户端实例的 uri

android - 使用 Android Observer/Livedata/Coroutine/Kotlin 实现 Redux

reactjs - 在 React 中有条件地添加 readOnly 的最佳方法是什么?

javascript - REACT.JS 填充自定义表头和表体

Meteor/React/ApolloServer/BodyParser - 有效负载太大