Recibo un error de mecanografiado después de actualizar a la versión 4 Usado en useParams () de react-router-dom
"typescript": "^4.0.2"
import { useParams } from 'react-router-dom'; const { sumParams } = useParams(); Property 'sumParams' does not exist on type '{}'.El proyecto funcionó muy bien y solo después de la actualización arroja un error
useParams es genérico. Debe indicar a mecanografiado qué parámetros está utilizando especificando el valor del genérico
Hay varias formas de solucionar esto
Esta es mi forma favorita
const { sumParams } = useParams<{ sumParams: string }>();Pero hay algunas formas más (:
O
interface ParamTypes { sumParams: string; }Luego en su Componente
const { sumParams } = useParams<ParamTypes>();O
añadir cualquier tipo sin interfaz
const { sumParams } : any = useParams();Nota: de esta manera no podrá configurarlo como una cadena
O
Más opciones para keemor :
const { sumParams } = useParams() as { sumParams: string; }Otra opción es:
const { sumParams } = useParams() as { sumParams: string; }Para que funcione como antes, simplemente agregue ":cualquiera"
const { sumParams } : any = useParams();