2016-03-15 28 views

cevap

10

Hemen kullanmak için ResetRouteStack() herhangi bir geçiş göstermez. yeni bir sahne itmek ve kaydırın izin vermemek için geri configureScene bu dönüş var:

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

Benim configureScene fonksiyonu şöyle görünür:

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

'u burada tanımladım. [Link] (http://stackoverflow.com/questions/32918666/example-of-navigation-between-views-in-react- yerli-android) –

+2

harika. fakat bazı sahnelerde kaydırmayı etkinleştirmek ve başka bir sahnede devre dışı bırakmak ister miyim? – projo

9

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

bu- benzeyen yerli denizci tepki Ve tıkladığınızda düğmesini "Oturum aç" geri tokatlamak devre dışı bırakabilir -

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

yerine push() kullanımı immediatelyResetRouteStack() -

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

Bu routeStack sıfırlamak ve giriş ekranına geri dönüyor engelleyecektir.

Benzer şekilde, açılış ekranınızdan çıktığınızda, immediatelyResetRouteStack() kullanın ve kullanıcının açılış ekranına geri dönmesini engelleyin.

+0

harika cevap sayesinde !!!!! –

+0

@AlainGoldman Sizin için yararlı olduğuna sevindim :) – Mihir

+0

Bu benim için işe yaramadı; This.props.navigator.replace ({name: 'componentName'}) kullanarak daha iyi şanslar elde ettim; ve yeni bir rota ile oradan gezinmek. Şimdi geçiş animasyonlarını devam ettirebilseydim ... – kwishnu

İlgili konular