Javascript 将导航goBack作为参考传递

Javascript 将导航goBack作为参考传递,javascript,react-native,react-navigation,Javascript,React Native,React Navigation,所以,当我尝试将goBack函数作为引用传入时,由于某种原因它不起作用,我需要将其封装为匿名函数,以便它起作用。这有什么原因吗 我想让它工作!(下文) 但只有这样才有效(见下文) this.props.navigation.goBack()}/> 这是否失去了参考?谢谢 编辑:我注意到文档还使用匿名函数调用goBack。好奇为什么会这样。是的,这很可能是你的问题 试试看: 有关总体方法/清洁代码,请参阅文档中的这一点: 之所以不起作用,是因为goBack期望null或undefined作为

所以,当我尝试将goBack函数作为引用传入时,由于某种原因它不起作用,我需要将其封装为匿名函数,以便它起作用。这有什么原因吗

我想让它工作!(下文)


但只有这样才有效(见下文)

this.props.navigation.goBack()}/>
是否失去了参考?谢谢


编辑:我注意到文档还使用匿名函数调用
goBack
。好奇为什么会这样。

是的,这很可能是你的问题

试试看:

有关总体方法/清洁代码,请参阅文档中的这一点:

之所以
不起作用,是因为
goBack
期望
null
undefined
作为第一个参数具有仅返回一个屏幕的默认行为

当您像这样使用处理程序
onPress={this.props.navigation.goBack}
时,处理程序将调用处理程序传回的事件
goBack
,即
this.props.navigation.goBack(event)


事件
不为空,因此
goBack
函数将尝试将该事件作为一个键传递到屏幕,以从。然后,
事件
与任何预定义键都不匹配,因此路由无效。

胖箭头保留了
上下文。我认为
goBack
本身就是一个箭头函数,因此无法恢复到新的
。是的,我也这么认为。您可以创建一个引用匿名函数的变量,并可以将该函数作为
this.foo
传递,然后正确调用它。没问题。很乐意帮忙!不幸的是,他们在文件中没有提到,
goBack
预期
未定义
<Button onPress={this.props.navigation.goBack} />
<Button onPress={() => this.props.navigation.goBack()} />