gpt4 book ai didi

react-native - 我如何在 react 原生中为 android 设置回上一个事件?

转载 作者:行者123 更新时间:2023-12-04 04:45:12 26 4
gpt4 key购买 nike

我如何在 react 原生中为 android 设置回上一个事件?

我的想法是:

1 在 index.android.js 中设置 _navigate

// 设置回退的堆栈
var _navigator;
BackAndroid.addEventListener('hardwareBackPress', function() {
if (_navigator && _navigator.getCurrentRoutes().length > 1) {
_navigator.pop();
return true;
}
return false;
});

RouteMapping 中的 2 pass 导航器:
RouteMapper: function(route, navigationOperations, onComponentRef) {
_navigator = navigationOperations;
if (route.name === 'detail') {
// 问题详情页
return (
<DetailScreen
navigator={navigationOperations}
question={route.question} />
);
} else if (route.name == 'front') {
// 首页
return(
<FrontScreen
navigator={navigationOperations}
/>
);

}
},

3 在 ListView 中设置推送
gotoDetail: function(question: Object) {
this.props.navigator.push({
id: question.question_id,
name: 'detail',
question: question
})

但它不起作用。当我在Android中单击后退按钮时,它会跳出应用程序?

我怎样才能做到这一点?

或者任何人都可以举一些例子?

最佳答案

您需要将以下代码添加到<您的项目>/android/app/src/main/java/com/<您的项目>/MainActivity.java:

@Override
public void onBackPressed() {
if (mReactInstanceManager != null) {
mReactInstanceManager.onBackPressed();
} else {
super.onBackPressed();
}
}

使用 React Native 0.12 创建的项目将正确运行。

有关更多信息,请参阅 Github 上的此问题 https://github.com/facebook/react-native/issues/3223 .

关于react-native - 我如何在 react 原生中为 android 设置回上一个事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32881219/

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