Stack Navigator(栈导航)操作原理分析

   栈的特点是“先进后出,后进先出”,就是有顺序的堆叠态。因此,在stack navigator里的所有节点都是按照线性排列的。


StackActions包含了基于堆栈导航器的操作方法。


Navigate

当通过navigate打开一个新页面时,它会被放在栈顶位置。

  Home  ->  Article -> User

image.png


goback

所以goback默认操作下   会按照顺序关闭它所调用的路由。 User->Article->Home


Reset

重置整个导航状态并替换为新的导航

个人->设置->用户协议 

image.png

image.png

具体属性用法就不解释了…


replace

用新的route替换当前的route 

navigate

个人 -> 设置->协议                个人->设置   replace  个人->协议

image.png

所以goback直接返回到个人页面了..


push   

入栈     功能类似navigate        

但是navigate方法在跳转时会在已有的路由栈中查找是否已经存在该值,若存在将直接跳转到之前存在的地址,此情况下使用popToTop()方法无法生效。

push方法则总是向路由栈中添加,无论之前是否存在。此时使用popToTop()方法可以达到回到栈顶路由的位置。


pop(n)   出栈   

类似goback  将回到堆栈中的前一个页面。但是允许指定参数要多少个页面出栈


popToTop()

popToTop操作会回到堆栈中的第一个屏幕,功能与pop({n: currentIndex})类似。

日记本

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

赞赏支持
被以下专题收入,发现更多相似内容