BackHandler 不会返回超过 1 个屏幕
BackHandler does not go back more than 1 screen
我的每个屏幕上都有这段代码。按 android 后退按钮返回 1 个屏幕。再次按 android 后退按钮不会执行任何操作。只要堆栈中有更多屏幕,预期的结果就是继续返回。缺少什么?
componentWillMount() {
BackHandler.addEventListener('hardwareBackPress', () => {
this.props.navigation.goBack();
return true;
});
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress')
}
经过反复试验,此代码按预期工作。我相信我的初始代码实际上并没有删除事件侦听器。
componentWillMount() {
BackHandler.addEventListener('hardwareBackPress', this.backPressed);
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.backPressed);
}
backPressed = () => {
this.props.navigation.goBack();
return true;
}
我的每个屏幕上都有这段代码。按 android 后退按钮返回 1 个屏幕。再次按 android 后退按钮不会执行任何操作。只要堆栈中有更多屏幕,预期的结果就是继续返回。缺少什么?
componentWillMount() {
BackHandler.addEventListener('hardwareBackPress', () => {
this.props.navigation.goBack();
return true;
});
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress')
}
经过反复试验,此代码按预期工作。我相信我的初始代码实际上并没有删除事件侦听器。
componentWillMount() {
BackHandler.addEventListener('hardwareBackPress', this.backPressed);
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.backPressed);
}
backPressed = () => {
this.props.navigation.goBack();
return true;
}