typescript - 从接口获取`__typename`
问题描述
我有一个具有属性的ts
接口(用于apollo-client@v2
gql
查询) 。__typename
在现有的代码库中,有很多数据对象的“再水化”,以“魔术字符串”的方式重新添加__typename
接口类型。我想知道是否有办法ts
通过现有的类型或缓存系统来引用字符串类型或避免这样做。
一个示例(生成的)接口:
export interface SomeNode {
__typename: "SomeNode";
id: string;
name: string;
}
有没有办法将“SomeNode”作为一个值和一个类型?
const newObject: SomeNode = {
__typename: string(NewNode.__typename) as NewNode.__typename,
id: 'some value',
name: 'some name'
}
目前我们这样做:
const newObject: SomeNode = {
__typename: "NewNode" as "NewNode",
id: 'some value',
name: 'some name'
}
这是一个简化的示例,用法确实很奇怪。但我正在寻找一种方法来做这件事。如果没有这个,我们最终会在整个代码库中重新创建已经生成的类型。
解决方案
推荐阅读
- mysql - 使用具有重复列名的 mysql 在完全连接跟踪中重复
- python - 我想打印一个字母模式,并想是否有一些东西可以即兴创作我用 python 编写的代码
- javascript - 如何将字符串添加到 React JSX div id?
- php - 表单更新时从下拉列表中检索数据
- android - Flutter Dio 无法发出 POST 请求
- swiftui - SwiftUI 三元条件错误?
- c++ - 如果用户在数字中输入字符,如何重新提示用户?
- python - 当有重复项时,如何制作唯一的 col 和 row 并将它们的值映射为矩阵?
- protractor - 以下标签的最佳定位器是什么?
- python - Python 使用 map 和 os.remove 删除多个文件