reactjs - React: Manglende returtype på funksjon. eslint(@typescript-eslint/explicit-function-return-type)


Jeg er ny på Typescript React. I en veldig enkel funksjonell komponent klager eslint på at den mangler returtypen for selve den funksjonelle komponenten. Hvor tar jeg feil?

Svar #1

Som forklart av Nicholas Tower i dette svaret Typescript | Advarsel om manglende returtype på funksjon, ESLint, avhengig av hvilken react-versjon du bruker, kan du bruke noen av linjene nedenfor:

Hvis du bruker den nyeste versjonen av React (16.8.0 eller senere), gjør dette: const Component: React.FunctionComponent<Props>=(props: Props) => { }

Før 16.8, ville du i stedet gjort: const Component: React.SFC<Props>=(props: Props) => {}

Hvor SFC står for «stateless functional component».

REDIGER:------

Basert på @SergioP's kommentar, ville en mer idiomatisk løsning være

const Test = ({ title }: Props): JSX.Element => <div>{title}</div>

Svar #2

Jeg møtte også dette problemet.

const handleLogout = () => {
router.push('/')
} 

Koden ovenfor ga samme problem for meg, deretter ble koden oppdatert som nedenfor, og da forsvant feilen i mitt tilfelle

const handleLogout = (): void => {
router.push('/')
}

Referanselink: https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/explicit-function-return-type.md

Relaterte artikler