reactjs - Hur man åtgärdar 'element har implicit typen 'any'. TS7031' för en funktion?


Jag är ny på React och får felet

Bindningselementet 'onClick' har implicit typen 'any'. TS7031

På följande kod

const CloseButton = ({ onClick }) => {
  const classes = useStyles();
  return <CloseIcon className={classes.closeButtonStyles} onClick={onClick} />;
};

Jag vet att jag behöver definiera en typ men jag vet inte vilken för en onClick-funktion. Google ger mig ingen hjälp.

Skulle någon veta vilken typ jag ska använda?

Svar #1

Det beror på vad CloseIcon's onClick-egenskap förväntar sig. Många inbyggda HTML-element accepterar en React MouseEventHandler för onClick.

Till exempel:

import React, { MouseEventHandler } from 'react';

function MyComponent({ onClick }: { onClick: MouseEventHandler }) {
  return (
    <button onClick={onClick}>Button</button>
  );
}

Så du kan försöka:

import { MouseEventHandler } from 'react';


const CloseButton = ({ onClick }: { onClick: MouseEventHandler }) => {
  const classes = useStyles();
  return <CloseIcon className={classes.closeButtonStyles} onClick={onClick} />;
};

Relaterade artiklar