无星的RN学习之旅(五)-关于react-navigation多层级页面返回时,去掉逐层推出动画

96
无星灬
2017.09.18 15:19* 字数 402

git:https://github.com/react-community/react-navigation/issues/1493
来,下猛药:
首先找到文件:src/views/ScenesReducer.js
然后用下面的代码:
  let k = null;
  let v = null;
  staleScenes.forEach(scene => {
  let {key} = scene;
  k = key;
  v = scene;
  });
  newStaleScenes = k && v ? new Map([[k, v]]) : new Map();
  newStaleScenes.forEach(mergeScene);
替换:staleScenes.forEach(mergeScene);
保存编译,就只有返回某页的动画了

转自http://www.cnblogs.com/lc901221/p/7543094.html
我就是那个贴了帖子看不懂答案的傻逼,。。

另外:
transitionConfig : () => ({
transitionSpec: {
duration: 0,
timing: Animated.timing,
easing: Easing.step0,
},
}),
去掉动画效果

2018-2-23 更新
以上解决方案适用于1.0.0beta版
升级到React-navigation 1.1.1版本后可直接通过key去回退指定版本。
至于怎么取key=>可以在跳转时缓存页面对应key值,通过页面名去获取缓存的key值跳转。
注意源码中当页面层级index为0时(首页)不会back。这一块应该是有想法的,但在特定情况下会有bug,因为我们项目就遇到了--但我暂时无法用语言总结出出现的场景。

无星的RN学习之旅(一)-环境安装以及新建项目
无星的RN学习之旅(二)-RN与原生的通信
无星的RN学习之旅(三)-bridge is not set.
无星的RN学习之旅(四)——通信、持久化存储、xcode打包
无星的RN学习之旅(六)-第三方App跳转,苹果商店跳转,loading框

RN