Estoy haciendo un proyecto React + mecanografiado. Y tengo un botón numérico que se ve así:
<button className="num" type='button' value={'1'} onClick={inputHandler}>1</button>Puedes notar que también tengo onClick={inputHandler} en ese botón:
const inputHandler = (event: any) => { event.preventDefault(); setInput(prev => prev.replace('_', event.target.value));}Este controlador toma una propiedad de valor del botón y la configura en la entrada. Así que estoy atascado escribiendo eventos para este controlador. Cada tipo que estoy definiendo devuelve:
La propiedad 'valor' no existe en el tipo 'EventTarget'.
Si lo escribo como "cualquiera", obviamente funciona. Pero necesito definir el tipo exacto para ello. Ayudame por favor.
Por lo general, escribiré el argumento del evento como un Evento genérico.
Dentro de la función, crearé una variable que reciba el elemento HTML real y luego emitiré el tipo usando la palabra clave as , porque el argumento "evento" en sí no es un elemento HTML, es más recomendable crear una variable con el objetivo.
const inputHandler = (event: Event) => { event.preventDefault(); const element = event.target as HTMLButtonElement; setInput(prev => prev.replace('_', element.value)); }