Skip to content

Instantly share code, notes, and snippets.

@voratham
Created February 13, 2018 05:22
Show Gist options
  • Save voratham/9c24e039e100b1fddd11ef84923ce213 to your computer and use it in GitHub Desktop.
Save voratham/9c24e039e100b1fddd11ef84923ce213 to your computer and use it in GitHub Desktop.
react-native-navigation-wix backhandler
// ในทุกอน่าสามารถแทรก onNavigatorEvent ให้มันเพื่อดัก event แต่ละหน้า
// วิธีการคือ นำ Backhandler ของ react-native core มาใช้เพื่อสร้าง event ก่อนที่จะแสดงหน้าผลปัจจุบัน
// ที่นี่ ในหน้าที่แสดงหน้าแรก จะมี event backhandler โผล่มา ที่นี่ถ้าจะ push ไปหน้าอื่น ก็ลบทิ้งซะ จบบบ
constructor(props){
if(Platform.OS === 'android'){
this.props.navigator.setOnNavigatorEvent(this.onNavigatorEvent.bind(this));
}
}
onNavigatorEvent(event) {
console.log('onNavigatorEvent onNavigatorEvent')
switch (event.id) {
case 'willAppear': // ก่อนจะแสดงผล
console.log('willAppear')
this.backHandler = BackHandler.addEventListener('hardwareBackPress', () => {
return true;
});
break;
case 'willDisappear': // ก่อนจะหายไป
this.backHandler.remove();
break;
default:
break;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment