Этому вызову не соответствует ни одна перегрузка. Ошибка TypeScript при использовании `next-connect` и` next-iron-session`
У меня есть проект, использующий &
next-iron-session
.
next-connect
по умолчанию использует
<NextApiRequest, NextApiResponse>
И я использую где
export type AppSession = {
session: Session
}
export type NextIronRequest = NextApiRequest & AppSession
Но я не могу пройти
<NextIronRequest, NextApiResponse>
к
nc
нравиться:
return nc<NextIronRequest, NextApiResponse>({
onError: (err, _, res) => {
error(err)
res.status(500).end(err.toString())
},
})
Это должно решить мою проблему, но вызывает ошибку:
Ожидается 0 аргументов типа, но получено 2.ts(2558)
Я получаю ошибку перегрузки на моем
handler()
функционировать как:
export default handler()
.get('/twitter/generate-auth-link', generateAuthLink)
.get('/twitter/get-verifier-token', getVerifierToken)
Я получаю 2 ошибки по каждому методу:
Этому вызову не соответствует ни одна перегрузка. Перегрузка 1 из 2, '(... handlers: RequestHandler[]): NextConnect' вызвала следующую ошибку. Аргумент типа «строка» не может быть назначен параметру типа «RequestHandler». Перегрузка 2 из 2, '(шаблон: строка | RegExp, ... обработчики: RequestHandler[]): NextConnect', вызвала следующую ошибку. Аргумент типа '(req: NextIronRequest, res: NextApiResponse) => Promise' не может быть назначен параметру типа RequestHandler. Типы параметров req и req несовместимы. Тип NextApiRequest нельзя присвоить типу NextIronRequest. Свойство session отсутствует в типе NextApiRequest, но является обязательным для типа AppSession.ts (2769)
Этому вызову не соответствует ни одна перегрузка. Перегрузка 1 из 2, '(... handlers: RequestHandler[]): NextConnect' вызвала следующую ошибку. Аргумент типа «строка» не может быть назначен параметру типа «RequestHandler». Перегрузка 2 из 2, '(шаблон: строка | RegExp, ... обработчики: RequestHandler[]): NextConnect', вызвала следующую ошибку. Аргумент типа '(req: NextIronRequest, res: NextApiResponse) => Promise' не может быть назначен параметру типа RequestHandler. Типы параметров req и req несовместимы. Тип NextApiRequest нельзя присвоить типу NextIronRequest. Тип NextApiRequest не может быть назначен типу AppSession.ts (2769)
Как мне это решить?
Мое полное воспроизведение здесь → https://github.com/deadcoder0904/twitter-api-v2-3-legged-login-using-next-connect
1 ответ
Оказывается, я использовал старую версию.
Я клонировал репо из
next/examples
так что должно быть поэтому это было на старой версии.
Обновление
next-connect
исправил эту проблему.