天天看點

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;

}

};

繼續閱讀