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