fortawesome/react-fontawesome 包更改图标onclick
fortawesome/react-fontawesome package change icon onclick
我的代码中有以下图标:
<FontAwesomeIcon id="star" onClick={this.handleClick} icon={hollowstar} size="lg" />
我需要将图标从 hollowstar 更改为 solidstar onclick。如何实现?
你可以这样做:
import { faStar as fasFaStar } from '@fortawesome/free-solid-svg-icons';
import { faStar as farFaStar } from '@fortawesome/free-regular-svg-icons';
// ...
const [star, setStar] = useState(farFaStar);
// ...
<FontAwesomeIcon
onClick={() => {
setStar(fasFaStar);
}}
icon={star}
// Other props...
/>
所以在代码中,我们导入具有不同样式的相同星形图标,如此处文档中所述:https://github.com/FortAwesome/react-fontawesome#how-do-i-import-the-same-icon-from-two-different-styles。
由于图标只是一个对象,您可以将其保存到状态并在 onClick 函数内将状态更新为另一个图标。
为清楚起见,我在这里使用了功能组件。
我的代码中有以下图标:
<FontAwesomeIcon id="star" onClick={this.handleClick} icon={hollowstar} size="lg" />
我需要将图标从 hollowstar 更改为 solidstar onclick。如何实现?
你可以这样做:
import { faStar as fasFaStar } from '@fortawesome/free-solid-svg-icons';
import { faStar as farFaStar } from '@fortawesome/free-regular-svg-icons';
// ...
const [star, setStar] = useState(farFaStar);
// ...
<FontAwesomeIcon
onClick={() => {
setStar(fasFaStar);
}}
icon={star}
// Other props...
/>
所以在代码中,我们导入具有不同样式的相同星形图标,如此处文档中所述:https://github.com/FortAwesome/react-fontawesome#how-do-i-import-the-same-icon-from-two-different-styles。
由于图标只是一个对象,您可以将其保存到状态并在 onClick 函数内将状态更新为另一个图标。
为清楚起见,我在这里使用了功能组件。