React-native-vector-icons 给我的图标与其目录中列出的图标不同

React-native-vector-icons gives me a different icon than is listed in it's directory

我在我的应用程序中使用了 react-native-vector-icons。当我使用 React-Native 6.2.1 时,一切都很好。我今天升级到 6.3.0。现在我所有的图标都搞砸了。我想名字已经改变了。我今天玩了目录,得到了奇怪的结果。这是我从以下位置获取列表的位置:https://oblador.github.io/react-native-vector-icons/

如果我选择一个名称为“ios-call”的应用程序,它应该会显示一个 phone 图标,但我却得到一个电子邮件图标。有些图标根本不显示。其他不受影响。我在我的应用中这样使用它们:

从“react-native-vector-icons/Ionicons”导入 Ionicons;

这真是在搞砸我的最后期限。为什么这个平台的变化和升级总是不稳定?

有没有其他人遇到过这个问题,如果有,你能告诉我在哪里可以找到解决方案吗?

提前致谢。

我觉得你的版本搞砸了,你从 0.62.1 变成了 0.63.0,对吧?因为这次升级后我遇到了同样的问题。

解决方案是清除 RN 缓存并重新安装所有依赖项。

  1. Clear cache
  2. 在您的项目文件夹中重新安装节点模块和pods:
rm -rf node_modules && rm package-lock.json
npm i
cd ios && pod install && cd ..

感谢@apgso 的意见。我实际上想出了解决问题的方法。我还没有完全掌握捆绑过程。如果我通过 xCode 启动我的应用程序,它会启动 Metro 捆绑器并且我的应用程序将拥有正确的资产。

我认为,Android Studio 的工作方式不同,对于 AS,我必须首先使用命令“react-native start”启动 metro bundler,然后我不确定它是如何工作的。

  1. metro bundler 启动后,我可以输入命令“react-native 运行-android”,我想我得到了最新的 assets/code.
  2. 如果我点击 AS 上的播放按钮,它也会启动应用程序。

问题是我总是得到不同的结果。一半时间我的代码被缓存,我得到的是旧代码。有时,metro bundler 运行ning 在后台,而 AS 还没有启动,我可以使用 运行ning “react-native 运行-android” 和它似乎有效。

这一切让我很困惑。我花了很多时间试图修复一些东西,结果发现我没有 运行使用最新版本的代码。

总而言之,我通过关闭一切并重新启动 Metro 和我的应用程序解决了我的问题。我不能告诉你为什么我得到不同的图标而不是没有图标。 React Native 开发很挑剔。

如果有人能解决这些问题,我会将其标记为正确答案。

我也遇到过这个问题,我正在使用 Ionicon,但它没有显示正确的图标。我看到 ionicons.tff 最后一次更新是 2 个月前,所以我们的图标可能已经过时了。 我修复它的方法是 re-installing react-native-vector-icons.

npm install --save react-native-vector-icons

它更新包,然后我手动link它。

react-native link react-native-vector-icons

然后重新 运行

npx react-native run-android.