He estado trabajando en un proyecto de reacción mecanografiada en el que estoy usando muchas bibliotecas externas y con frecuencia me encuentro usando cualquier tipo para esas bibliotecas. Por favor, mire el código de abajo para la demostración
Esto es para la biblioteca Fontawesome.
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faSquare, } from '@fortawesome/free-regular-svg-icons'; interface IProps { title: string; icon: any; onClick?: () => void; sx?: { [index: string]: string }; } const icons ={ title :_, icon : faSquare }Para el código anterior, ¿cuál sería el tipo de icono ? cuyo valor es faSquare . Cuando pasé el mouse sobre él, el tipo es IconDefinition . Pero no estoy seguro de dónde importarlo o si esa es la forma de hacerlo.
Los paquetes @fortawesome incorporan sus propios tipos, por lo que el tipo de icons.icon se infiere automáticamente.
En VSCode, puede hacer clic derecho e "Ir a definición de tipo" para verificar el tipo. En tu caso, el tipo de faSquare es IconDefinition
export interface IconDefinition extends IconLookup { icon: [ number, // width number, // height string[], // ligatures string, // unicode IconPathData // svgPathData ]; } Simplemente puede agregarlo a su importación desde @fortawesome/free-regular-svg-icons'
import {faSquare, IconDefinition} from '@fortawesome/free-regular-svg-icons';