https://react-icons.github.io/react-icons
react项目自定义喜欢的图标库
提供了数千个免费的开源图标,能寻找到“恰到好处”的图标
image.png

  1. npm install react-icons --save

按需加载,React Icons将图标导出为React组件

  1. import { FaBeer } from 'react-icons/fa';
  2. function App() {
  3. return (
  4. <h3>
  5. Lets go for a
  6. <FaBeer />
  7. <FaBeer
  8. color="#008f68"
  9. size="50px"
  10. style={{ margin: '0 5px' }}
  11. />
  12. </h3>
  13. );
  14. }

antd-icons

  1. import { IconName } from "react-icons/ai"
  2. class Question extends React.Component {
  3. render() {
  4. return <h3> Lets go for a <FaBeer />? </h3>
  5. }
  6. }

游戏图标

  1. import { IconName } from "react-icons/gi"

image.png

svg-icon

svg,可缩放矢量图形
SVG文件通常比其他图像格式小几个数量级,尤其是对于图标之类的东西

react-svg变形图标

svg图标动画
react-svg-morph https://github.com/gorangajic/react-svg-morph/
github文档 https://github.com/gorangajic/react-svg-morph/
2021-02-15 11.10.40.gif

  1. var Checkbox = require('react-icons/lib/md/check-box-outline-blank');
  2. var Check = require('react-icons/lib/md/check');
  3. var {MorphReplace} = require('react-svg-morph');
  4. var MorphCheckbox = React.createClass({
  5. render: function () {
  6. var icon;
  7. if(this.props.checked) {
  8. icon = <Check key="check" fill="#00ff00"/>;
  9. } else {
  10. icon = <Checkbox key="checkbox"/>;
  11. }
  12. return (
  13. <MorphReplace width={24} height={24}>
  14. {icon}
  15. </MorphReplace>
  16. )
  17. }
  18. });