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
