我如何禁用反滑本机导航器滑回

我正在使用反应的本地navigator器之间的通信两个屏幕login和登陆屏幕,当我从登陆屏幕注销,甚至我可以滑回登陆屏幕登陆屏幕,所以我如何禁用刷卡回原始导航

Solutions Collecting From Web of "我如何禁用反滑本机导航器滑回"

使用immediatelyResetRouteStack()将不会显示任何转换。 推新的场景,不允许刷回你的configureScene返回这个:

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

我的configureScene函数如下所示:

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

我假设你做了这样的事情 –

您的导航器看起来与此类似 –

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

而当你点击“login”button –

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

而不是push()使用immediatelyResetRouteStack()

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

这将重置routeStack,并防止返回到login屏幕。

同样,当您从登陆界面注销时,请使用immediatelyResetRouteStack()并阻止用户返回登陆屏幕。