【问题标题】:Font Awesome & Unicode & Variable in React-NativeReact-Native 中的 Font Awesome & Unicode & Variable
【发布时间】:2019-07-01 11:47:59
【问题描述】:

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

我可以用这样的字符串类型图标显示:

<Text style={{fontFamily: 'fontAwesome'}}></Text> 打印图标。运行良好。

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

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

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

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

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

【问题讨论】:

  • 你可以试试icon="\u&amp;#xf0e8;"
  • 错误很抱歉没有工作。 Parsing error: Bad character escape sequence
  • 另见npmjs.com/package/react-native-fontawesome,它似乎比 unicode 字符更容易阅读
  • @dvdsmpsn 谢谢你,但更多的库性能低下:(

标签: reactjs react-native icons font-awesome font-awesome-5


【解决方案1】:

代替

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));

【讨论】:

  • 我需要用这段代码替换文本。 icon2 = icon2.replace("&amp;#x","\u"); icon2 = icon2.replace(";",""); 但由于“\u”而出现错误Parsing error: Bad character escape sequence
  • 我在编辑后的答案中回答了你的问题。祝你好运。
  • 对于一些拥有像“0xe926”这样的unicode的人,你可以删除2个字符,它会像这样完美地工作。 icon2 = icon2.substr(2); icon2 = String.fromCharCode(parseInt(icon2, 16));
猜你喜欢
  • 2019-06-29
  • 1970-01-01
  • 2020-10-07
  • 1970-01-01
  • 2021-05-04
  • 2017-09-02
  • 2020-05-07
  • 2020-10-12
  • 1970-01-01
相关资源
最近更新 更多