天天看点

React-navigation物理返回键提示效果BackHandler

componentWillMount(){

   BackHandler.addEventListener('hardwareBackPress', this.onBackAndroid);

}

componentWillUnmount() {

   BackHandler.removeEventListener('hardwareBackPress', this.onBackAndroid);

}

componentDidMount() {

  console.log("当前路由");

console.log(this.props.navigation.state);

}

onBackAndroid = () => {

//这里的路由信息是你自己项目中的,通过这个原理,我们还是可以提示一些其他信息,比如表单没填写完整等等

if(this.props.navigation.state.routeName=="Home"){

           if (this.lastBackPressed && this.lastBackPressed + 2000 >= Date.now()) {

           //最近2秒内按过back键,可以退出应用。

// BackHandler.exitApp()

return false

        }

this.lastBackPressed = Date.now();

ToastAndroid.show('再按一次退出应用', ToastAndroid.SHORT);

return true;

}else{

return true;

}

};

继续阅读