没有参数的 goBack() 和 pop() 在功能上是否相同?

Are goBack() and pop() without arguments functionally identical?

从阅读 the documentation 看来是这样,但我想我很困惑为什么没有指出它们在不带参数的情况下调用 pop() 时可以互换,或者为什么甚至会是具有如此相似行为的两个不同函数(以及为什么 goBack() 不会也接受要返回的屏幕数量的参数)?

pop - go back in the stack

pop 的帮助下,您可以返回 几个屏幕 堆栈

goBack 带您回到上一屏幕

see here

The pop action takes you back to a previous screen in the stack. It takes one optional argument (count), which allows you to specify how many screens to pop back by.

import { StackActions } from '@react-navigation/native';

StackActions.pop(2);

区别是:

  • pop 特定于堆栈导航器,接受与堆栈导航器相关的参数,例如要弹出的屏幕数
  • goBack 更通用,它适用于任何导航器:堆栈、选项卡抽屉

它不能完全互换,因为它取决于您所在的导航器。例如,如果您的屏幕位于嵌套在堆栈导航器中的选项卡导航器中,如果您使用 pop(),它将返回父级堆栈导航器,但如果您调用 goBack(),它将返回选项卡导航器(取决于在这两种情况下是否有任何屏幕可以返回)。

所以通常您可能希望使用 goBack(),它在大多数情况下会执行适当的行为,而仅当您有特定要求并想要它提供的特定行为时才使用 pop()