react-native监听android物理返回键

1.使用BackAndroid组件来完成对android物理返回键的监听

如下图,我们再Home组件中注册,一旦App进入主程序,就接管物理返回键的监听,我们仔在Home组件的渲染完成后来监听,在Home组件卸载后移除对返回键的监听,再onBackAndroid中,我们先检查navigator的堆栈,如果堆栈中有组件存在,则pop最顶层组件,如果组件为空,则采取在2s内按两次返回键退出App的策略。

2. 某些类自定义返回键操作(即点击返回键弹出一个alert之类的操作)

在所需类的初始化方法里调用BackAndroidTool.customHandleBack

栗子:

constructor(props) {

  super(props);

  BackAndroidTool.customHandleBack(this.props.navigator,() => {

    Alert.alert('提示','您还未保存记录,确定要返回么?',

    [{text:'取消',onPress:() => {}},

    {text:'确定',onPress:() => { this.props.navigator.pop(); }}

  ]);

  // 一定要 return true; 原因上面的参考链接里有

  return true;

  });

}

3.某些页面需要禁用返回键

在nav进行push的时候,设置属性ignoreBack为true 即可

this.props.navigator.push({

  component: 所需要禁用的类,

  ignoreBack:true,

});

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人...
    珍此良辰阅读 7,339评论 33 15
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,268评论 19 139
  • 前言 本文 有配套视频,可以酌情观看。 文中内容因各人理解不同,可能会有所偏差,欢迎朋友们联系我讨论。 文中所有内...
    珍此良辰阅读 2,285评论 5 9
  • 发现 关注 消息2 现有iOS项目中嵌入几个React Native页面 nilcy关注 2016.12.20 1...
    大冲哥阅读 1,049评论 0 0
  • 今日的太阳, 不知躲去了哪儿, 可能还在被窝里, 享受阿波罗的抚摸, 那来去匆匆的行人, 都马不停蹄, 想要离开这...
    雅俗共赏Y阅读 288评论 2 4