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 缓存并重新安装所有依赖项。
- Clear cache
- 在您的项目文件夹中重新安装节点模块和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,然后我不确定它是如何工作的。
- metro bundler 启动后,我可以输入命令“react-native 运行-android”,我想我得到了最新的 assets/code.
- 如果我点击 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.
我在我的应用程序中使用了 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 缓存并重新安装所有依赖项。
- Clear cache
- 在您的项目文件夹中重新安装节点模块和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,然后我不确定它是如何工作的。
- metro bundler 启动后,我可以输入命令“react-native 运行-android”,我想我得到了最新的 assets/code.
- 如果我点击 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.