如何修复“没有与此调用匹配的过载”。使用passport.serializeUser 时出错?

时间:2021-03-29 07:10:22

标签: typescript express passport.js

我正在使用 TypeScript 开发 passport.serializeUser

passport.serializeUser((user: User, done) => {
    done(null, user.id)
});

这是我得到的错误:

No overload matches this call.
  Overload 1 of 2, '(fn: (user: User, done: (err: any, id?: unknown) => void) => void): void', gave the following error.
    Argument of type '(user: import("/Users/minseokim/Documents/dev/project/my-todo/models/user").default, done: (err: any, id?: unknown) => void) => void' is not assignable to parameter of type '(user: Express.User, done: (err: any, id?: unknown) => void) => void'.
      Types of parameters 'user' and 'user' are incompatible.
        Type 'User' is missing the following properties from type 'User': id, email, password, nickname, and 31 more.
  Overload 2 of 2, '(fn: (req: IncomingMessage, user: User, done: (err: any, id?: unknown) => void) => void): void', gave the following error.
    Argument of type '(user: User, done: (err: any, id?: unknown) => void) => void' is not assignable to parameter of type '(req: IncomingMessage, user: User, done: (err: any, id?: unknown) => void) => void'.
      Types of parameters 'user' and 'req' are incompatible.
        Type 'IncomingMessage' is missing the following properties from type 'User': id, email, password, nickname, and 30 more.

0 个答案:

没有答案