The signIn function from Next-Auth: A Promise-returning function that fills in where a void return was anticipated

<button onClick={() => signIn()}>Login</button>
is triggering the
@typescript-eslint/no-misused-promises
error message in VS Code, which states:
Promise-returning function provided to attribute where a void return was expected.

I am currently following a tutorial at this link: https://youtu.be/nzJsYJPCc80?t=642 and interestingly, the error doesn't seem to appear there

This project was initiated using

npm create t3-app@latest <project-name>
and included all components such as trpc, tailwind, next-auth, and prisma (everything that create-t3-app offers).

Should I simply disable this eslint error with

/* eslint-disable @typescript-eslint/no-misused-promises */
as mentioned in the "Quick Fix"? Or should I consider making adjustments to the default .eslintrc.json file provided by create-t3-app?

Your guidance on this matter would be greatly appreciated 🙏

// 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;

Answer №1

To specify void as the return type of a function, simply use this syntax:

 <input onChange={() => void submitForm()}>Submit</input>

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Accessing the observable's value by subscribing to it

There is a defined observable called imageOptions$ in my code: imageOptions$: Observable<BoundImagesToProject[]> = this.imagesService .getBoundImages({ projectId: this.projectId }) .pipe(map((images) => (images.data))); and it is used in the temp ...

A TypeScript function designed to only process arrays consisting of objects that contain a specific property determined by another parameter, with the requirement that this property

function retrieveObjectRow<T = string>( arrayData: { [key: T]: number; [key: string]: unknown; }[], targetValue: number, specifiedField: T ): typeof arrayData[number] | null { for (let i = 0; i < arrayData.lengt ...

Issue arises when trying to set object members using a callback function in Typescript

I am facing a peculiar issue that I have yet to unravel. My goal is to display a textbox component in Angular 2, where you can input a message, specify a button label, and define a callback function that will be triggered upon button click. Below is the c ...

Nested object type checking is not being performed

I have been developing an Angular application and working with two interfaces: IAbc and IXyz. interface IAbc { id: number, name: string } interface IXyz { id: number, value: string | number | Date | IAbc[]; } In my code, I initialize a va ...

Why should one bother with specifying types when defining a variable in Typescript?

As someone new to Typescript, I've come to appreciate its many advantages when working on larger applications and with multiple team members :) Imagine you have the following TypeScript code: declare const num = 5: number; Why is this better than: ...

Using forkJoin with an array of objects in TypeScript

Imagine a scenario where there is a web service that returns basic data in the form of CustomerGroups: { 0: { Name: 'Group 1', Customers: { ... } }, 1: { Name: 'Group 2', ...

The index access type cannot be used with T[Key extends keyof T]

My work frequently involves arrays structured like this: [ {key1: val1, key2: value2, key3: val3}, {key1: val1, key2: value2, key3: val3}, {key1: val1, key2: value2, key3: val3}] and I often need to convert them into a dictionary/map format, for example: ...

Is there a way to retrieve the chosen value from a select element?

How do I retrieve the chosen value from a select element? In my select.component.ts file: export class PfSelectComponent implements OnInit { constructor() { } ngOnInit() { } @Input() options : Array<Object>; } Contents of select.compon ...

What is the best way to assign a TypeScript type as the object type within an array of objects sourced from a different interface?

I am working with a generated interface that looks like this: export interface StaticPageLeftMenuV1 { id: string status: 'draft' | 'published' environments: ('dev' | 'staging' | 'production')[] ...

Typescript: Determine when a property should be included depending on the value of another property

Having some difficulty with Typescript and React. Specifically, I am trying to enforce a type requirement for the interface Car where the property colorId is only required if the carColor is set to 'blue'. Otherwise, it should not be included in ...

What is the process to activate a function within a component once a service method has been run?

I'm currently working on a chart configuration using amCharts, where an eventListener is registered for the bullets. This event listener then triggers another function in my chart service. My goal is to activate a method in my component as soon as th ...

Send the function to the directive

Below is the code for a directive: module app.directives { interface IDmDeleteIconController { doAction(): void; } class DmDeleteIconController implements IDmDeleteIconController { static $inject = ['$scope']; ...

Filtering two distinct arrays in Angular 6 to eliminate duplicate data: A quick guide

array1 = ["one","two"]; array2 = [ {"name":"one","id":101} , {"name":"two","id":102} , {"name":"three","id":103} , {"name":"four","id":104} ]; The data above consists of two arrays: array1 which contains string values, and array2 which contains objects. ...

Is it possible to house the reusable component's service in the core module within Angular based on the specified scenario?

├── src │ ├── app │ │ ├── core │ │ │ ├── services │ │ │ ├── core.module.ts │ │ ├── shared │ │ │ ├── produt-form │ │ │ │ ├── product-form.component.ts|h ...

Restrict the object field type to an array by analyzing control-flow for accessing elements within brackets

Enhancements in type narrowing using control-flow analysis for bracket element access have been introduced in TypeScript 4.7. One thing I'd like to do is verify if the accessed field is an array or not. Currently, the type guard seems to be ineffecti ...

What is the safest method to convert a nested data structure into an immutable one while ensuring type safety when utilizing Immutable library?

When it comes to dealing with immutable data structures, Immutable provides the handy fromJs function. However, I've been facing issues trying to integrate it smoothly with Typescript. Here's what I've got: type SubData = { field1: strin ...

Using Typescript to define property types based on their respective values

Is it possible to set a property type based on the property value? For example, if the command is: If 'set' then the payload must be PayloadSet If 'put' then the payload must be PayloadPut If 'del' then the payload must be ...

Tips for displaying backend error messages on the frontend

I am facing an issue with returning error messages from the backend to the frontend in my Angular project. The specific requirement is to display an error message when the value of msisdn is not eligible for renewal. Currently, the hardcoded error message ...

What is the method for exporting all functions from a TypeScript file with a default export included?

An example of the export type mentioned is React. To use it, we can include the following code: import React, {Component} from "react". This allows us to access both React.Component and Component. What steps are necessary to make this possible? ...

Is there a way to utilize "npm install ts-node-dev -D" in Termux?

npm ERR! code EACCES npm ERR! syscall symlink npm ERR! path ../acorn/bin/acorn npm ERR! dest /storage/emulated/0/bot-baiano/node_modules/.bin/acorn npm ERR! errno -13 npm ERR! Error: EACCES: permission denied, unable to create symlink fro ...