博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何让 StackNaivgator 实现越级回跳
阅读量:6954 次
发布时间:2019-06-27

本文共 694 字,大约阅读时间需要 2 分钟。

所谓越级回跳,就是 popN 的功能

为什么需要越级回跳?因为我的 APP 透析记词需要实现文件浏览,而越级回跳是一个很基础的文件导航功能

如何用 StackNavigator 实现这个功能?重任落到了 goBack 函数和路径的 key 属性上面

key 属性在this.props.navigation.state这个对象(object)中,是由系统自动生成的一个唯一标识

key 可以作为 goBack 函数的参数,假设程序的导航路径是 A -> B -> C -> D ,在 D 路径上使用 goBack(keyOfB),将实现 D 到 A 的跳转(是的,是跳回到 A,而不是 B)

问题是如何在 D 路径中获得 A(或者是 B)的 key,目前的实现方案是当 navigate 到下一个路径时,需要把现在路径的 key 以及之前路径传下来的 keys 一起作为参数 keys 传给下一个路径,

举例从 B 导航到 C ,navigate 的写法

let { navigate, state } = this.props.navigation  // 导航到 C  // state.params.keys 是 array,包含之前路径的 key  navigate('DirViewOfC', {keys: state.params.keys.concat(state.key)})

在 C 路径,就可以通过this.props.navigation.state.params.keys获得之前路径的 key。

详细的代码实现可以查看透析记词的

React Navigation

转载地址:http://iutil.baihongyu.com/

你可能感兴趣的文章
java设计模式演示样例
查看>>
MemCache分布式缓存的一个bug
查看>>
R语言屏幕输出
查看>>
创建与删除索引
查看>>
jQuery .tmpl() 用法
查看>>
HTML5新增核心工具——canvas
查看>>
myeclipse6.0下载及注冊码
查看>>
八大排序算法总结
查看>>
JBoss Jopr
查看>>
Android获取文件夹路径 /data/data/
查看>>
Robot Framework自动化测试(一)---第一个脚本
查看>>
菜鸟学SSH(十六)——Struts2内部是如何工作的
查看>>
去标签获取网页内容
查看>>
改动file header (測)
查看>>
微软职位内部推荐-Senior Speech TTS
查看>>
假如是你,你会怎么选择
查看>>
UVA - 10574 Counting Rectangles
查看>>
eclipse luna使用jdk1.8初始化
查看>>
6-11-N皇后问题-树和二叉树-第6章-《数据结构》课本源码-严蔚敏吴伟民版
查看>>
HDU3336-Count the string(KMP)
查看>>