【发布时间】:2016-03-15 09:32:34
【问题描述】:
我正在使用 react native navigator 在两个屏幕登录和登录屏幕之间进行通信,当我从登录屏幕注销时,即使我可以从登录屏幕滑回登录屏幕,所以我如何在 react native 中禁用滑回导航器
【问题讨论】:
标签: javascript android react-native
我正在使用 react native navigator 在两个屏幕登录和登录屏幕之间进行通信,当我从登录屏幕注销时,即使我可以从登录屏幕滑回登录屏幕,所以我如何在 react native 中禁用滑回导航器
【问题讨论】:
标签: javascript android react-native
使用 immediateResetRouteStack() 不会显示任何转换。要推送新场景并禁止向后滑动,请让您的 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; }}
/>
当你点击“登录”按钮时-
this.props.navigator.push({name: 'componentName'});
用immediatelyResetRouteStack()代替push() -
this.props.navigator.immediatelyResetRouteStack([{name: 'componentName'}]);
这将重置 routeStack 并防止返回登录屏幕。
同样,当您退出登录屏幕时,使用immediatelyResetRouteStack() 并阻止用户返回登录屏幕。
【讨论】: