【发布时间】:2019-09-08 09:37:35
【问题描述】:
我从 GraphQL 查询中生成了以下类型。
type Maybe<T> = T | null
...
export type DealFragmentFragment = { __typename: "Deal" } & Pick<
Deal,
"id" | "registeringStateEnum" | "status" | "offerStatus"
> & {
users: Maybe<Array<{ __typename: "User" } & Pick<User, "id" | "name">>>
>
我有一个 React 函数,它接受从上述查询传递下来的用户。
function userCard({ user }) {
// ...do stuff
}
我的问题是如何从DealFragmentFragment 中选择用户子集?
function userCard({ user }: { user: DealFragmentFragment["users"] }) {
// ...do stuff
}
在DealFragmentFragment["users"] 之后进入数组“内部”并可能显示id 和name 属性?
谢谢!
【问题讨论】:
-
如果你
console.log(DealFragmentFragment["users"])你看到了什么? -
嗨@ManoshTalukder。这是一个错误。我不相信
console.log评估 TS 类型。上述代码的编译器状态为TypeScript error: Property 'user' does not exist on type 'Maybe<({ __typename: "User"; } & Pick<User, "id" | "name">)[]>'. TS2339
标签: javascript reactjs typescript graphql