मैं एंड्रॉइड के लिए प्रतिक्रिया-मूल में पिछली गतिविधि पर कैसे सेट कर सकता हूं?मैं एंड्रॉइड के लिए प्रतिक्रिया-मूल में पिछली गतिविधि पर कैसे सेट कर सकता हूं?
मेरे सोच है: index.android.js में
1 सेट _navigate
// 设置回退的堆栈
var _navigator;
BackAndroid.addEventListener('hardwareBackPress', function() {
if (_navigator && _navigator.getCurrentRoutes().length > 1) {
_navigator.pop();
return true;
}
return false;
});
2 RouteMapping में पास नाविक: सूची दृश्य में
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 सेट धक्का
gotoDetail: function(question: Object) {
this.props.navigator.push({
id: question.question_id,
name: 'detail',
question: question
})
लेकिन यह काम नहीं करता है। जब मैं एंड्रॉइड में बैक बटन पर क्लिक करता हूं, तो यह ऐप से बाहर निकलता है?
मैं यह कैसे कर सकता हूं?
या कोई भी कुछ उदाहरण दे सकता है? के साथ बनाया
@Override
public void onBackPressed() {
if (mReactInstanceManager != null) {
mReactInstanceManager.onBackPressed();
} else {
super.onBackPressed();
}
}
परियोजनाओं मूल निवासी प्रतिक्रिया:
मैंने पाया कि कुछ छोटे गेटचास: भले ही आप प्रतिक्रिया-मूल के एनपीएम संस्करण को अपडेट करते हैं, आपको हाथ से चलने की आवश्यकता होगी, या अपनी मुख्य गतिविधि हाथ से अपडेट करनी होगी। इसे डिवाइस पर तैनात करने की आवश्यकता होगी, जेएस के ऑटो अपडेट इसे नहीं उठाएंगे। – ooolala
मैंने यह कोड जोड़ा और अब मेरा प्रोजेक्ट नहीं चल रहा है, क्या मुझे इसे जोड़ने के बाद टर्मिनल में एनपीएम कमांड चलाने की ज़रूरत है? धन्यवाद –
@Stefan Klasen हाय, जब मैं इस कोड को जोड़ता हूं तो मुझे "ReactInstanceManager को ReactActivity पर निजी पहुंच" क्यों मिलती है? – TeodorKolev