前言
对于RN默认的导航组件Navigator,可以通过右滑切换view,这样效果往往在项目中并不是很需要,但是想要去掉,也着实费了点功夫,下面来看如何解决这个问题?
方法
主要原理,也很简单,就是设置gestures属性为{}或者null即可,为了方便使用,我们直接看代码:
- ...
- <Navigator
- ref="navigator"
- initialRoute={{name: 'your first view'}}
- renderScene={this.renderScene}
- configureScene={this.configureScene}
- }
- />
-
- ...
-
- configureScene = (route,routeStack) => {
- let configure = Navigator.SceneConfigs.PushFromRight;
-
- switch (route.name){
- case 'EditView':
- configure = Navigator.SceneConfigs.FloatFromBottom;
- default:
- configure = Navigator.SceneConfigs.PushFromRight;
- };
- return {
- ...configure,gestures:{}
- };
- }
在配置secen的时候,我们只需要返回结果中带上gestures即可,如上。