代码之家  ›  专栏  ›  技术社区  ›  Patrick Kenny

Ionic 5/React:使用ion图标嵌入自定义SVG

  •  0
  • Patrick Kenny  · 技术社区  · 4 年前

    我在Ionic 5中有一个React应用程序,我想向其中添加一些自定义SVG。

    This SO question is about Angular, 但我的问题是关于React的。

    我的应用程序文件夹结构如下:

    • src
      • 资产
        • listen.svg
        • SvgListen.tsx

    这是 SvgListen.tsx :

    import React from 'react';
    import { ReactComponent as ListenSvg } from './listen.svg';
    import { IonIcon } from '@ionic/react';
    
    const SvgListen = () => (
      <>
        <ListenSvg />
        <IonIcon src="./listen.svg" font-size="48px" />
    
      </>
    );
    
    export default SvgListen;
    

    在Chrome中测试应用程序时,我得到以下HTML:

    <ion-icon src="./listen.svg" font-size="48px" role="img" class="ios hydrated"></ion-icon>
    

    这个 <ListenSvg /> 我导入的内容显示正确;但是不显示离子图标。也没有错误消息。

    我查过了 this blog post ,但其中概述的方法也没有成功。

    如何使用显示自定义SVG <IonIcon> Ionic 5?

    0 回复  |  直到 4 年前
        1
  •  5
  •   Thomas    4 年前

    根据do the Create React App docs 您可以导入图像以在输出包中获取其最终路径:

    import React from 'react';
    import { IonIcon } from '@ionic/react';
    import listenSvg from './listen.svg';
    
    const SvgListen = () => (
      <IonIcon src={listenSvg} font-size="48px" />
    );
    
    export default SvgListen;