【发布时间】:2022-01-23 05:47:13
【问题描述】:
我无法理解我在文件中看到的这段代码。这到底是为了什么?
const user = rowData as NonNullable<ApiResult["getUsers"]["data"][number]["users"]>[number];
如何使用类型(数字)来查看对象的属性?请注意,ApiResult 是一些 graphql 生成的类型,并且此代码位于 mui 数据网格 GridColumns 数组的 renderCell 中。
【问题讨论】:
-
"getUsers"也是一个类型;这是一个字符串literal type。符号T[K]是indexed access type,其中T是类对象类型,K是可分配给keyof T的键类type,然后T[K]是您的值类型'd 从索引到类型为T的对象中获取,其键类型为K。如果foo是Foo类型,k是"x"类型,而foo[k]是string类型,那么Foo["x"]是string类型。 -
嗯。嗯..是的..当然是的。
标签: typescript graphql