在我的主应用程序中,我定义了
import { DateTime } from "luxon"
const now = ref(DateTime.now())
const maxCityNameSize = ref(0)
然后将变量传递给组件:
<time-bar :now="now" :maxCityNameSize="maxCityNameSize"></time-bar>
在该组件中,它们被定义为
const props = defineProps({
now: { type: DateTime },
maxCityNameSize: { type: Number },
})
我的代码按预期工作,但我在上面的props
中得到了一个我无法理解的TypeScript错误:
No overload matches this call.
Overload 1 of 3, '(props: string[]): { readonly [x: string]: any; }', gave the following error.
Overload 2 of 3, '(props: ComponentObjectPropsOptions<Data>): { readonly [x: string]: Prop<unknown, unknown> | null | undefined; }', gave the following error.ts(2769)
runtime-core.d.ts(322, 53): The expected type comes from property 'now' which is declared here on type 'ComponentObjectPropsOptions<Data>'
我从来没有见过这个错误(尽管使用了很多 prop )-这意味着什么?
为了完整起见,我添加了另一个作为prop传递的React变量,它不会触发错误。
当搜索原因时,通常会指出错误来自函数的参数数量错误(不适用),或者类型不匹配(我也没有看到类型不匹配)。
1条答案
按热度按时间92dk7w1h1#
我使用了一个双阶段的
props
声明,linter很高兴(代码也很高兴):