Por ejemplo, tengo un controlador onClick en una etiqueta <div> . El controlador debe esperar un tipo de retorno de React.MouseEventHandler<HTMLDivElement> | undefined Pero aún puedo devolver un valor booleano de false cuando temp = false . Me confundí aquí por qué Typescript no me advirtió sobre el tipo de retorno
import React from 'react'; const Dummy= () => { const [temp, settemp] = React.useState(false) const [text, settext] = React.useState('Hi') const handler : React.MouseEventHandler<HTMLDivElement> | undefined = () =>{ return temp && settext('bye') //return temp } return ( <div onClick={handler}> Testing </div> ); }; export default Dummy;Le está diciendo a mecanografiado que la variable del handler es React.MouseEventHandler<HTMLDivElement> | undefined Tenga en cuenta que en realidad nunca está indefinido, ya que es una constante y, por lo tanto, solo es una función. No le está diciendo cuál es el tipo de retorno de la función. Estas son dos cosas diferentes. El tipo de devolución se deriva de lo que devuelve en la función, o puede declararlo explícitamente después de los parámetros, así:
let sum = (x: number, y: number): number => { return x + y; }