gpt4 book ai didi

javascript - react native 如何实现后退按钮

转载 作者:行者123 更新时间:2023-11-29 14:36:30 25 4
gpt4 key购买 nike

我不明白如何实现后退按钮。场景以编程方式推送,当我单击按钮时,它将继续弹出屏幕,如果没有更多场景可弹出,则退出 react native View 并返回 native View

这是我在 Activity 中的内容

    @Override
public void invokeDefaultOnBackPressed() {
getReactInstanceManager().onBackPressed();
}

在这种情况下我需要覆盖 OnBackPressed 吗?

这是我如何设置导航器

    render() {

return (
<Navigator
initialRoute={{name: 'root'}}
renderScene={this.renderScene.bind(this)}
configureScene={(route) => {
if (route.sceneConfig) {
return route.sceneConfig;
}
return Navigator.SceneConfigs.FloatFromRight;
}} />
);
}
renderScene(route, navigator) {
return (
<Login
navigator={navigator} />
);

而在登录这里是第一个场景

class Login extends Component {

constructor(props) {
super(props);
_navigator = this.props.navigator
// Private variables
this.state = {
isLoading: true,

}
}


<View style={styles.leftContainer}>
<TouchableHighlight style={styles.button} onPress={this.onPressButton}>
<Text style={[styles.buttonText]}>Invite</Text>
</TouchableHighlight>
</View>

onPressButton() {
console.log("back button");
if (this.props.navigator && this.props.navigator.getCurrentRoutes() > 1) {
console.log("pop");
this.props.navigator.pop();
//return true;
}
console.log("false");
//return false;

}

}

当我点击按钮时没有任何反应。我想要的是退出 react native View ,因为它位于场景的顶部。

奇怪的是,我什至在单击按钮之前就看到了打印的控制台日志。这正常吗?

最佳答案

首先,从 react-native 导入 BackAndroid。之后处理硬件后退按钮

   componentDidMount() {
BackAndroid.addEventListener('hardwareBackPress', this.onBackPress.bind(this));
}

如果你想关闭应用程序,从 onBackPress() 返回 false,否则返回 true。

onBackPress(){
this.props.nav.pop();
return false;
}

关于javascript - react native 如何实现后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35357022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com