没有参数的 goBack() 和 pop() 在功能上是否相同?
Are goBack() and pop() without arguments functionally identical?
从阅读 the documentation 看来是这样,但我想我很困惑为什么没有指出它们在不带参数的情况下调用 pop() 时可以互换,或者为什么甚至会是具有如此相似行为的两个不同函数(以及为什么 goBack() 不会也接受要返回的屏幕数量的参数)?
pop - go back in the stack
在 pop
的帮助下,您可以返回 几个屏幕 堆栈
goBack
带您回到上一屏幕
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()
。
从阅读 the documentation 看来是这样,但我想我很困惑为什么没有指出它们在不带参数的情况下调用 pop() 时可以互换,或者为什么甚至会是具有如此相似行为的两个不同函数(以及为什么 goBack() 不会也接受要返回的屏幕数量的参数)?
pop - go back in the stack
在 pop
的帮助下,您可以返回 几个屏幕 堆栈
goBack
带您回到上一屏幕
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()
。