toRef 的第二个参数的类型是 never?-灵析社区

满脑子智慧溢出

(alias) toRef(object: {}, key: never): never (+2 overloads) 在编写代码时候发现 `toRef` 无法传入第二个参数,因为 `key` 类型被指定成了 `never`。 我在`vue`官网上没发现有这个定义。。不太确定哪里出现了问题。

阅读量:324

点赞量:17

问AI
你这行签名是从 vscode 悬浮框里复制的吧? 其实它是这样的: export declare function toRef(value: T): T extends () => infer R ? Readonly> : T extends Ref ? T : Ref>; export declare function toRef(object: T, key: K): ToRef; export declare function toRef(object: T, key: K, defaultValue: T[K]): ToRef>; 你应该是写了 "toRef",那么 "T" 现在是 "{}" 了,而 "K" 要满足 "keyof T" 的约束,"{}" 没有键,那自然就是 "never" 了