在React-Native开发中,经常会用到导航。导航做什么用的呢,简单点说就是页面跳转。
个项目中,肯定有很多的页面要跳来跳去的,RN就给我们提供了Navigator组件,可以很好的管理页面的跳转。
在所有工作做完之后,发现有个bug!在从第一个界面跳转到下一个界面后,如果从屏幕左边向右滑,或者从上面想下滑,你会发现一个神奇的事情,那就是页面会通过滑动而返回到上一个界面。这让我们很尴尬了,本来打算禁止跳转返回的,或者返回时还要做些什么处理的,结果啥都没做,直接返回,可以说,这个功能有点适得其反了。
于是为了解决这个问题,到处找答案,官网没有说,论坛也没人回答。于是放置了很久很久,没想到在今天的而然查找下,终于找到解决方案了。
方案主要分三种:
1,自己定义个configureScene:
const NoBackSwipe = { ...Navigator.SceneConfigs.HorizontalSwipeJump, gestures: { pop: {} } };
然后在Navigator标签下使用
<Navigator initialRoute={{Component:'xxx', name:'xxx', index:0, configure: NoBackSwipe}} renderScene={this.renderScene.bind(this)} configureScene={(route,routeStack)=>{ return NoBackSwipe }} />
这里主要是处理了pop,其中还有jumpback,jumpforward的
2,如果你都不要返回处理的,直接将gestures都改成{}或者null
configureScene(route, routeStack){ let configure = Navigator.SceneConfigs.PushFromRight; switch(route.configure){ case Consts.FloatFromLeft: configure = Navigator.SceneConfigs.FloatFromLeft; break; case Consts.FloatFromBottom: configure = Navigator.SceneConfigs.FloatFromBottom; break; } return { ...configure, gestures:{}//或者改成null }; }
然后使用也是一样:
<Navigator initialRoute={{Component:'xxx', name:'xxx', index:0, configure: NoBackSwipe}} configureScene={this.configureScene.bind(this)} renderScene={this.renderScene.bind(this)} onStartShouldSetResponder={()=>false}/>
我就是用的第二种。
3,还有一种,是直接改源码,在项目目录下找到路径:
/node_modules/react-native/Libraries/CustomComponents/Navigator/Navigator.js
里面有一段代码,去掉pop就可以了
var GESTURE_ACTIONS = [ 'pop',//把这个去掉就可以了 'jumpBack', 'jumpForward', ];
这种直接修改源码的不推荐使用,因为每当你要升级RN或者做其他调整时,重新下载下来又得改,还是上面两种比较靠谱。
以上就是今天的大发现,终于解决滑动返回的问题了~
资料参考:How to disable back swipe gesture in react native navigator
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新动态
- 宝藏归离任务怎么做?宝藏归离任务攻略
- 原画壁纸及美图第209期,无水印可自取
- 原画壁纸及美图第210期,无水印可自取
- 西游笔绘西行紫界演武怎么过 紫界演武通关攻略
- 西游笔绘西行沙河逐风怎么过 沙河逐风通关攻略
- 崩坏星穹铁道椒丘阵容怎么搭 崩铁椒丘组队阵容推荐
- 奥斯卡视觉奖《哥斯拉-1》,好坏参半的70周年纪念作
- 跟你走的话会被嘎蛋吗 囧图 深得自媒体新闻学的真传
- 国产游戏产业:为何手游成为新宠?
- 谭艳《再度重相逢HQ》头版限量编号[低速原抓WAV+CUE]
- ABC德国制《姚公白·三千年古琴艺术》6N纯银镀膜[低速原抓WAV+CUE]
- 群星1990-似曾相识1--2[日本天龙1A1首版][WAV+CUE]
- 《地狱潜者2》诞生大量梗图:索尼毁了一款GOTY潜力之作
- 五一档电影导演:绝不撤档!可以战死但不退
- 淘宝确认免单不是bug:是周年庆答题免单