You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NextAuth 4.24.6中TypeScript/ESLint的any类型赋值错误如何解决?

解决NextAuth 4.24.6中TypeScript/ESLint的no-unsafe-assignment错误

你遇到的错误是因为TypeScript无法自动推断NextAuth()返回值的具体类型,默认将其判定为any,触发了ESLint的@typescript-eslint/no-unsafe-assignment规则。以下是几种可行的解决方法:

方法一:为handler添加明确的类型注解

直接给handler指定NextApiHandler类型(Next.js的API路由处理函数类型),让TypeScript明确其类型:

import type { NextApiHandler } from 'next';
import NextAuth from "next-auth";
import { authOptions } from "@/server/auth";

const handler: NextApiHandler = NextAuth(authOptions);
export { handler as GET, handler as POST };

方法二:确保authOptions的类型合规

检查你的@/server/auth文件,确认authOptions已经正确标注了AuthOptions类型,这能帮助TypeScript更好地推断NextAuth()的返回值:

// @/server/auth.ts
import type { AuthOptions } from 'next-auth';

export const authOptions: AuthOptions = {
  // 你的认证配置(比如providers、session等)
};

方法三:临时禁用该行ESLint规则(不推荐长期使用)

如果只是临时测试需要,可以单独禁用该行的规则,但不建议作为长期解决方案,因为会掩盖潜在的类型问题:

import NextAuth from "next-auth";
import { authOptions } from "@/server/auth";

// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
const handler = NextAuth(authOptions);
export { handler as GET, handler as POST };

内容的提问来源于stack exchange,提问作者MKapp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 06:52:11