(打字稿)尝试将 font-awsome 图标作为对象传递给子组件时面临问题

Yas*_*han 3 javascript font-awesome typescript reactjs

错误:类型“object”无法分配给类型“IconProp”。类型“object”不可分配给类型“[IconPrefix,IconName]”。ts(2322)index.d.ts(25, 3):预期类型来自属性“icon”,该属性在类型“IntrinsicAttributes &”上声明FontAwesomeIconProps'

interface Props {
  img: object;
}
Run Code Online (Sandbox Code Playgroud)

父组件:

import { faBriefcaseMedical } from "@fortawesome/free-solid-svg-icons";
<MissionCards img={faBriefcaseMedical} />
Run Code Online (Sandbox Code Playgroud)

子组件:

import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
<FontAwesomeIcon icon={Props.img} />
Run Code Online (Sandbox Code Playgroud)

小智 9

您可以简单地整理如下:

import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { IconProp } from '@fortawesome/fontawesome-svg-core'
import { faSearch } from '@fortawesome/free-solid-svg-icons'

<FontAwesomeIcon icon={faSearch as IconProp} />
Run Code Online (Sandbox Code Playgroud)