【问题标题】:integrate react and react-fontawesome整合 react 和 react-fontawesome
【发布时间】:2019-01-04 18:20:59
【问题描述】:

react-fontawesome 文档建议创建一个自定义库,只包含一个需要的图标。

他们说做如下:

  • 添加所需的包。
  • 像这样创建自定义库:

    import { library } from '@fortawesome/fontawesome-svg-core';
    import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
    import { faStroopwafel } from '@fortawesome/free-solid-svg-icons';
    
    library.add(faStroopwafel);
    
  • 像这样使用自定义库:

     import React from 'react'
     import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
    
         ...
         return(<FontAwesomeIcon icon="stroopwafel" />);
    

问题是关于第二步:是否可以为创建库创建一个单独的文件?我不喜欢在我的应用程序入口点有一长串图标的想法。

让我感到困惑的是没有任何东西可以导出,因为它只是一个函数调用 (library.add)。我应该导出执行库创建的自调用函数吗?

【问题讨论】:

    标签: reactjs font-awesome


    【解决方案1】:

    也许您可以编写一个包含已填充库的文件:

    import { library } from '@fortawesome/fontawesome-svg-core';
    import { faStroopwafel } from '@fortawesome/free-solid-svg-icons';
    
    library.add(faStroopwafel);
    

    在你的主文件中,只导入这个库和FontAwesomeIcon

    import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
    import "./MyLib"
    
    function App() {
      return (
        <div className="App">
          <FontAwesomeIcon icon="stroopwafel" />
        </div>
      );
    }
    

    编辑:感谢@mwilkerson 的改进版

    【讨论】:

    • 是的,您可以通过从MyLib.js 中删除export 并将其导入为import "./MyLib" 来使其更加整洁。这个想法是您导入“仅用于副作用”,而不是绑定任何导出。有问题的副作用是调用library.add()。请参阅分叉的 CodeSandbox:codesandbox.io/s/qvw0q92nyw
    • 你说得对,谢谢!我会编辑答案。
    猜你喜欢
    • 2021-11-10
    • 2017-09-16
    • 2021-08-08
    • 2021-10-13
    • 2021-11-03
    • 2015-08-14
    • 2018-06-08
    • 2017-07-20
    • 2017-09-16
    相关资源
    最近更新 更多