打字稿:TS7006:参数“ xxx”隐式具有“ any”类型

用户762579:

在测试UserRouter时,我使用的是json文件

data.json

[
  {
    "id": 1,
    "name": "Luke Cage",
    "aliases": ["Carl Lucas", "Power Man", "Mr. Bulletproof", "Hero for Hire"],
    "occupation": "bartender",
    "gender": "male",
    "height": {
      "ft": 6,
      "in": 3
    },
    "hair": "bald",
    "eyes": "brown",
    "powers": [
      "strength",
      "durability",
      "healing"
    ]
  },
  {
  ...
  }
]

构建我的应用程序时,出现以下TS错误

ERROR in ...../UserRouter.ts
(30,27): error TS7006: Parameter 'user' implicitly has an 'any' type.

UserRouter.ts

import {Router, Request, Response, NextFunction} from 'express';
const Users = require('../data');

export class UserRouter {
  router: Router;

  constructor() {
  ...
  }

  /**
   * GET one User by id
   */
  public getOne(req: Request, res: Response, _next: NextFunction) {
    let query = parseInt(req.params.id);
 /*[30]->*/let user = Users.find(user => user.id === query);
    if (user) {
      res.status(200)
        .send({
          message: 'Success',
          status: res.status,
          user
        });
    }
    else {
      res.status(404)
        .send({
          message: 'No User found with the given id.',
          status: res.status
        });
    }
  }


}

const userRouter = new UserRouter().router;
export default userRouter;
Diullei;

您正在使用,--noImplicitAny而TypeScript不知道Users对象的类型在这种情况下,您需要显式定义user类型。

更改此行:

let user = Users.find(user => user.id === query);

对此:

let user = Users.find((user: any) => user.id === query); 
// use "any" or some other interface to type this argument

或定义Users对象的类型

//...
interface User {
    id: number;
    name: string;
    aliases: string[];
    occupation: string;
    gender: string;
    height: {ft: number; in: number;}
    hair: string;
    eyes: string;
    powers: string[]
}
//...
const Users = <User[]>require('../data');
//...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

错误TS7017:对象类型的索引签名在表单验证angular 2中隐式具有“ any”类型

打字稿错误:TS7053元素隐式具有“ any”类型

react / typescript:参数“ props”隐式具有“ any”类型错误

变量“ a”隐式具有“ any []”类型

Angular2-参数$ event隐式具有“ any”类型

函数重载错误:TS7006:参数“ x”隐式具有“ any”类型

参数隐式具有“ any”类型

ReactJS打字稿错误参数道具隐式为'any'类型

参数“ dispatch”隐式具有“ any”类型

为什么参数“ props”隐式具有“ any”类型?

打字稿:参数“错误”隐式具有“任意”类型

如何修复redux-observable参数'action $'隐式具有'any'类型

另一个TS7006:参数“ X”隐式具有“ any”类型-但不完全相同

绑定元素'Component'隐式具有'any'类型.ts

firebase错误TS7006:参数“快照”隐式具有“任意”类型

使用d3.mouse时出现D3打字稿错误:“ this”隐式具有类型“ any”,因为它没有类型注释

TS7006:参数“ __”隐式具有“ any”类型。我无法理解下面的错误和解决方案

React Navigation 5错误绑定元素'navigation'隐式具有'any'类型.ts

具有隐式属性类型的通用打字稿

TS2683:“ this”隐式具有类型“ any”,因为它没有使用“ apply”进行类型注释

Typescript:TS7017对象类型的索引签名在循环中隐式具有“ any”类型

参数“error”隐式具有“any”类型

反应/打字稿:参数“道具”隐式具有“任何”类型。使用 IProps 界面后

在打字稿中调用rest API时,面临错误,因为“'this'隐式具有'any'类型,因为它没有类型注释”

打字稿:'new' 表达式,其目标缺少构造签名,隐式具有 'any' type.ts(7009)

元素隐式具有 'any' 类型,因为类型 'typeof globalThis' 没有索引签名。 ts(7017) 打字稿

错误 TS7006:参数“item”隐式具有“any”类型

错误 TS7006:参数“req”隐式具有“任何”类型

错误:参数“e”隐式具有“任何”类型。TS7006 - 反应打字稿