如何去掉Navigator的转场效果?



  • 用Navigator做跳转默认有个切换的动画效果,但是现在不想要任何效果,就是场景之间直接切换,请问该怎么做呢?



  • @haisenbug 将gestures.jumpForward或者jumpBack置为null即可

    知足者常乐

    0


  • @slashhuang 谢谢回复,请问这两个属性具体怎么设置呢?在文档里找不到,貌似只有个configureScene可以设置啊。我试了一下下面的方式

    navigator.gestures.jumpBack = null;
    navigator.push({...})

    结果报错,提示属性是readonly的



  • 直接给你看我之前写的代码吧,

    configureScene={(route) => {
                let  gestureType = Navigator.SceneConfigs.HorizontalSwipeJump;
                gestureType.gestures.jumpForward=null;
                 return gestureType
              }}
    

    还有问题的话,你去https://github.com/slashhuang/react-native-demo下载看下我的代码~

    知足者常乐

    0


  • @slashhuang 说:

    jumpBack

    你好!我试了一下上面的代码,好像还是不行啊。转场仍然是HorizontalSwipeJump的效果,看起来好像设置null对它没有一点影响啊。。-_-!,对了,我RN版本是0.23





  • @liuyimx 问题解决,太感谢了!但这算是一种hack吧,代码又写多了一坨。。为什么RN不提供原生的、“优雅”一点的设置方式呢?难道切换scene一定要动画吗?不解。。



  • @haisenbug 其实hack的原理都是一致的

    知足者常乐

    0


  • @slashhuang 嗯,我的意思是为什么不提供一个简便点的方式呢,比如不设置configureScene的情况下默认就是无切换动画,然后想要哪种效果自己再去设置



  • @haisenbug 因为大部分人其实是需要转场动画的…… 你稍微研究下NavigatorSceneConfig.js,可以自己封装出一堆自己需要的,就可以满足自己的需求了。



  • @tdzl2003 好的,谢谢提示!刚刚接触RN,看来要研究的东西还有很多啊


登录后回复