react naive 安卓返回键的封装

来源:互联网 发布:中文域名 英文域名 编辑:程序博客网 时间:2024/06/09 20:14

封装的好处不用说,可以一次书写,处处调用,react native 安卓返回键封装代码如下:

import {    BackAndroid,    Platform,    ToastAndroid,}from 'react-native'/** * 安卓返回键处理 * */function OnBackAndroid() {}OnBackAndroid.prototype = {    //监听    bindHardwareBackPress: function (obj) {        if (Platform.OS === 'android') {            BackAndroid.addEventListener('hardwareBackPress', this.onHomeBackPress.bind(this,obj));        }    },    //点击返回按键    onHomeBackPress: function (obj) {        let name = obj.props.navigator.getCurrentRoutes()[0].name;        //如果不是主页,跳转至上一页        if (name != "homePage") {            obj.props.navigator.pop();            return true;        }        //如果是主页,再按一次退出        this.handleHomeBackPress();        return true;    },    handleHomeBackPress: function () {        if (Platform.OS === "android") {            if (this.lastBackPressed && this.lastBackPressed + 2000 >= Date.now()) {               this.exitApp();            }            this.lastBackPressed = Date.now();            ToastAndroid.show('再按一次退出应用', ToastAndroid.SHORT);            return true;        }    },    exitApp: function () {        BackAndroid.removeEventListener('hardwareBackPress', this.onHomeBackPress.bind(this));        BackAndroid.exitApp();    }};module.exports = new OnBackAndroid();

使用方法:

比如我要在主页调用,先引用:

var OnBackAndroid = require ('../../base/commonFun/onBackAndroid');

之后在主页的componentDidUpdate中调用:

OnBackAndroid.bindHardwareBackPress(this);

就可以了!

0 0
原创粉丝点击