【问题标题】:RN 0.59.5 with RN-vector-icons 6.4.2 throwing BackAndroid is deprecated and has been removed from this package. Use BackHandler insteadRN 0.59.5 与 RN-vector-icons 6.4.2 throwing BackAndroid 已弃用,并已从此包中删除。改用 BackHandler
【发布时间】:2023-03-28 04:41:01
【问题描述】:

我刚刚使用 RNVI 安装了更新的 react native,使用 RNVI 时出现此错误,

BackAndroid 已弃用,并已从此包中删除。改用 BackHandler

但是当我删除 import FontAwesome from 'react-native-vector-icons/FontAwesome';<FontAwesome name="icon_name"/> 时一切都很好

我尝试使用 vscode 甚至在 RNVI github repo 上搜索 BackAndroid,但我找不到任何 BackAndroid

我该如何解决这个问题?

【问题讨论】:

  • 您使用的是什么路由模块,是什么版本的?我想这应该与 RN-vector-icons 模块无关。
  • @Yalamber 用于路由,我使用 "react-navigation": "^3.9.0",但如果错误与 RNVI 无关,为什么当我删除 RNVI 时我的应用运行良好?
  • 奇怪你能分享你的代码或步骤来重现这个错误
  • @Yalamber 我只使用这一步:1. react-native init appName, 2. npm install react-navigation react-native-vector-icons && react-native link, 3. use the package 会抛出错误。如果你说奇怪我也这么说,因为RN和RNVI的版本较低,没有问题

标签: react-native react-native-vector-icons


【解决方案1】:

BackAndroid 已弃用

别担心,我们有 Backhandler 而不是 BackAndroid

使用“react-native-vector-icons”:“^6.2.0”,

Use Case : 

import { BackHandler } from 'react-native'

componentDidMount() {
    BackHandler.addEventListener('hardwareBackPress', this.handleBackPress);
  }

  componentWillUnmount() {
    BackHandler.removeEventListener('hardwareBackPress', this.handleBackPress);
  }

  handleBackPress = () => {
    this.goBack(); // works best when the goBack is async
    return true;
  }

【讨论】:

    猜你喜欢
    • 2017-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多