1

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

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

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

<Ionicons name='call' size={24} style={{marginRight: 15}}/>

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

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

提前致谢。

4

3 回答 3

2

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

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

它更新包,然后我手动链接它。

react-native link react-native-vector-icons

然后重新运行

npx react-native run-android.
于 2020-09-04T09:00:40.077 回答
0

我认为你的版本搞砸了,你从0.62.10.63.0,对吧?因为这次升级后我遇到了同样的问题。

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

  1. 清除缓存
  2. 在项目文件夹中重新安装节点模块和 pod:
rm -rf node_modules && rm package-lock.json
npm i
cd ios && pod install && cd ..
于 2020-07-29T08:13:21.703 回答
0

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

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

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

问题是我总是得到好坏参半的结果。我的代码有一半时间被缓存并且我正在获取旧代码。有时,metro bundler 在后台运行,而 AS 还没有启动,我可以运行“react-native run-android”,它似乎可以工作。

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

所以总而言之,我通过关闭所有东西并重新启动 Metro 和我的应用程序来解决我的问题。我无法告诉你为什么我得到不同的图标而不是没有图标。React Native 开发非常挑剔。

如果有人可以清除这些东西,我会将它们标记为正确答案。

于 2020-07-29T12:10:27.453 回答