我正在将一个用JavaScript编写的Apollo GraphQL API项目迁移到TypeScript。我在查找用户代码块时遇到一个错误,说:var idArg: any Initializer provides no value for this binding element and the binding element has no default value.ts(2525)
async findOne({ id: idArg } = {}) {
// Red line here ^^^^^
const user = await this.knex('users')
.where('id', idArg)
.first();
if (!user) return;
return user;
}
目前,我在不知道实际解决方案的情况下添加了any
,警告消失了:
async findOne({ id: idArg }: any = {}) {
const user = await this.knex('users')
.where('id', idArg)
.first();
if (!user) return;
return user;
}
但是我仍然想知道实际的解决方案。我应该添加number
类型而不是any
吗?但是当我这样做时,错误是:Type '{}' is not assignable to type 'number'.ts(2322)
.
请帮帮我。
1条答案
按热度按时间kcugc4gi1#
根据您想要实现的目标,有很多方法可以解决这个问题。
Typescript playground link.