我想在我的应用程序中显示fontAwesome图标。

我可以用字符串类型的图标显示如下:

<Text style={{fontFamily: 'fontAwesome'}}>&#xf0e8;</Text>
打印图标。运作良好。

但是我需要显示带有这样的变量的图标:

let icon2 = "&#xf0e8;";
<Text style={{fontFamily: 'fontAwesome'}}>{icon}</Text>


然后打印到屏幕&#xf0e8;而不是图标。

我与您分享世博会小吃链接。您可以轻松尝试。

https://snack.expo.io/@wyrustaaruz/Zm9udG

最佳答案

代替

let icon2 = "&#xf0e8;";


您需要将其定义为:

let icon2 = "\uf0e8";


在javascript中,将其分配给变量时,需要使用"\u"定义Unicode字符。因此,它可以正确识别和解析unicode字符。

在评论中针对您的问题进行了编辑;

您的图标是十六进制的。因此我们可以从图标中删除前3个字符。之后,我们将该unicode值解析为整数,然后可以转换为
 String.fromCharCode的unicode字符串。

icon2 = icon2.substr(3);
icon2 = String.fromCharCode(parseInt(icon2, 16));

10-05 21:11