2016-03-15 13 views
8

में स्वाइप वापस कैसे अक्षम कर सकता हूं मैं लैंडिंग स्क्रीन से लॉगआउट करते समय दो स्क्रीन लॉगिन और लैंडिंग स्क्रीन के बीच संचार के लिए प्रतिक्रिया देशी navigator का उपयोग कर रहा हूं, फिर भी मैं लॉगिन स्क्रीन से लैंडिंग स्क्रीन पर वापस स्वाइप कर सकता हूं मैं कड़ी चोट पीठ में निष्क्रिय कर सकते हैं देशी नाविक प्रतिक्रियामैं प्रतिक्रिया देशी नेविगेटर

उत्तर

10

तत्काल उपयोग करनाResetRouteStack() किसी भी संक्रमण को प्रदर्शित नहीं करेगा। एक नया दृश्य धक्का और कड़ी चोट की अनुमति रद्द करने के लिए वापस अपने configureScene इस वापसी की है:

return { 
    ...CustomNavigatorSceneConfigs.FloatFromRight, 
    gestures: {} 
}; 

मेरे configureScene समारोह इस तरह दिखता है:

configureScene: function(route) { 
    if (route.sceneConfig) { 
    return route.sceneConfig; 
    } 
    return { 
    ...CustomNavigatorSceneConfigs.FloatFromRight, 
    gestures: {} 
    }; 
} 
+0

मुझे यहां से पूरी तरह से परिभाषित उत्तर मिला [लिंक] (http://stackoverflow.com/questions/32918666/example-of-navigation-between-views-in-react- देशी-एंड्रॉइड) –

+2

भयानक। लेकिन कैसे, अगर मैं कुछ दृश्यों में स्वाइप सक्षम करना चाहता हूं और किसी अन्य दृश्य पर अक्षम करना चाहता हूं? – projo

9

मुझे लगता है कि आप इस-

आपका नाविक की तरह कुछ किया है

<Navigator 
    style={styles.container} 
    initialRoute={{ name: 'signin', index: 0 }} 
    renderScene={ this.renderScene } 
    configureScene={() => { return Navigator.SceneConfigs.PushFromRight; }} 
/> 

इस- के समान दिखता है और जब आप बटन पर क्लिक करें "साइन इन" -

this.props.navigator.push({name: 'componentName'});

के बजाय push() उपयोग immediatelyResetRouteStack() -

this.props.navigator.immediatelyResetRouteStack([{name: 'componentName'}]); 

यह routeStack रीसेट और प्रवेश स्क्रीन पर वापस जा पाएगा।

इसी तरह, जब आप अपनी लैंडिंग स्क्रीन से लॉग आउट करते हैं, तो immediatelyResetRouteStack() का उपयोग करें और उपयोगकर्ता को लैंडिंग स्क्रीन पर वापस जाने से रोकें।

+0

महान जवाब धन्यवाद !!!!! –

+0

@AlainGoldman खुशी है कि यह आपके लिए उपयोगी था :) – Mihir

+0

यह मेरे लिए काम नहीं किया; मैं इस.props.navigator.replace ({name: 'घटक नाम'} का उपयोग कर बेहतर भाग्य था); और एक नए मार्ग के साथ वहां से नेविगेटिंग। अब अगर मैं संक्रमण एनिमेशन रख सकता हूं ... – kwishnu

संबंधित मुद्दे