【发布时间】:2017-09-22 21:58:48
【问题描述】:
当用户在 Android 上按下返回按钮时,我正在尝试返回。
我在屏幕上添加了监听器,它在远程调试模式下接收事件。但是当我不进行远程调试时,它无法正常工作。真的很奇怪。
我将附上我写的代码sn-ps。
//Navigator
const BoardNavigator = StackNavigator({
Board: { screen: Board }
});
//Board Component
class Board extends Component {
componentWillMount () {
BackHandler.addEventListener('hardwareBackPress', this._onBackPressed);
}
componentWillUnmount () {
BackHandler.removeEventListener('hardwareBackPress', this._onBackPressed);
}
_onBackPressed () {
console.log('backPress');
goBack(this.props.navigation);
return true;
}
onNext() {
this.props.navigation.navigate("Board", {content: ...});
}
}
附加信息: 这个 BoardNavigator 是 rootNavigator(StackNavigator) 的嵌套之一。
反应:'16.0.0-alpha.12'
反应原生:“0.47.2”
【问题讨论】:
-
到底出了什么问题?
-
我认为是 BackHandler 问题。当我在“远程调试模式”中测试它时,后退按钮可以正常工作。但是当我不在“远程调试模式”下测试它时,它会完全关闭应用程序。
-
@CoolEagle 遇到同样的问题。你已经解决了吗?
标签: android reactjs react-native redux react-navigation