AppNavigator

goBack

返回routeNames指定的页面,不传递参,默认返回上一页面。

参数名类型描述
routeNamesarray返回的目标页面名称,支持多个候选页面

说明及示例

  1. 1.假设页面堆栈为 A->B->C->D
  2. - D 页面调用 goBack() 返回 C
  3. - D 页面调用 goBack('B') 返回 B
  4. 2.假设页面 D 是一个公共页面,存在多种路径跳转过来:A->B->C->D, E->F->D
  5. - D 页面调用 goBack(['A', 'E']),如果从 A 跳转过来返回 A,如果从 E 条转过来返回 E
  6. 提示:为了避免字面值,推荐使用 AppNavigator.home.HomeScene 替代 'HomeScene' 字面值

goBackThenPush

返回指定页面,然后跳转到新页面

参数名类型描述
routeNamesarray返回的目标页面名称,支持多个候选页面
newRouterstring返回后要到达的页面

说明及示例

  1. 1)假设页面路径如下,D 页面有多重可能的返回路径:
  2. A -> C -> D
  3. A -> E -> D
  4. 变为:
  5. A -> B
  6. 现在需要从 D 页面返回 B 页面,调用 goBackThenPush(A, B)
  7. 2)假设页面路径如下,E 页面存在多重返回路径:
  8. A -> B -> C -> D -> E
  9. A -> F -> G -> H
  10. A -> I -> J
  11. 现需要从 EHJ 页面返回到对应的 BFI 页面,然后跳转到统一的K页面,变成:
  12. A -> B -> K
  13. A -> F -> K
  14. A -> I -> K
  15. 则调用 AppNavigator.goBackThenPush([B, F, I], K)

goBackAndReplace

返回指定页面,并使用新页面替换

参数名类型描述
routeNamesarray返回的目标页面名称,支持多个候选页面
newRouterstring返回后要替换的页面

说明及示例

  1. 1)假设页面路径可能为:
  2. A -> C -> D
  3. A -> B
  4. 现在需要从 D 页面返回 B 页面,调用 goBackAndReplace(C, B)
  5. 2)假设页面路径如下,D 页面有多重可能的返回路径:
  6. A -> C -> D
  7. A -> E -> D
  8. A -> B
  9. 现在需要从 D 页面返回 B 页面,调用 goBackAndReplace([C, E], B)
  10. 3)假设页面路径如下,E 页面存在多重返回路径:
  11. A -> B -> C -> D -> E
  12. A -> C -> D -> E
  13. A -> D -> E
  14. 现需要从 E 页面返回 F 页面,把 A E 之间的栈清理掉,变成:
  15. A -> F -> E
  16. 则调用 AppNavigator.goBackAndReplace([B, C, D], F), B, C, D之间存在顺序上的优先级