Next-Auth 登录:向预期返回 void 的属性提供承诺返回函数

Cas*_*sey 1 typescript eslint typescript-eslint next-auth trpc.io

<button onClick={() => signIn()}>Login</button>在 VS Code 中出现以下@typescript-eslint/no-misused-promises错误:Promise-returning function provided to attribute where a void return was expected.

我正在关注本教程:https://youtu.be/nzJsYJPCc80?t =642(似乎没有收到错误)

我创建了这个项目并npm create t3-app@latest <project-name>添加了所有内容:trpc、tailwind、next-auth 和 prisma(即 create-t3-app 提供的所有内容)。

/* eslint-disable @typescript-eslint/no-misused-promises */我应该按照“快速修复”中的建议禁用此 eslint 错误吗?或者更新 create-t3-app 提供的默认 .eslintrc.json ?

任何方向将不胜感激

// src/pages/index.tsx

import { type NextPage } from "next";
import Head from "next/head";
import Link from "next/link";
import { signIn, signOut, useSession } from "next-auth/react";

import { api } from "../utils/api";

const Home: NextPage = () => {
  return (
    <>
      <Head>
        <title>Create T3 App</title>
        <meta name="description" content="Generated by create-t3-app" />
        <link rel="icon" href="/favicon.ico" />
      </Head>
      <div>
        <button onClick={() => signIn()}>Login</button>
      </div>
    </>
  );
};

export default Home;
Run Code Online (Sandbox Code Playgroud)

Gab*_*iel 6

您可以添加 void 作为函数的返回类型,如下所示:

 <button onClick={() => void signIn()}>Login</button>
Run Code Online (Sandbox Code Playgroud)