React native 如何处理导航标题栏中的按钮按下
我对react native非常陌生,目前正在使用react navigation为我的应用程序处理导航。 我想能够添加一个按钮到我的应用程序的标题栏创建的反应导航,并能够按下一个按钮调用一个功能React native 如何处理导航标题栏中的按钮按下,react-native,react-navigation,React Native,React Navigation,我对react native非常陌生,目前正在使用react navigation为我的应用程序处理导航。 我想能够添加一个按钮到我的应用程序的标题栏创建的反应导航,并能够按下一个按钮调用一个功能 static navigationOptions = ({ navigation }) => { const { params } = navigation; return { title: 'Assign To', headerRight: (
static navigationOptions = ({ navigation }) => {
const { params } = navigation;
return {
title: 'Assign To',
headerRight: (
<Button
title='Back'
onPress={() => params.handlePress()}
/>
),
};
};
我在组件中定义了myFunction,如下所示
myFuntion() {
//...
}
非常感谢您提供的任何帮助我将回答这个问题,并作进一步解释。正如您所知,问题在于您将两种类似方法的语法组合在一起。您可以使用.bind语法:handlePress:this.myFunction.bindthis或所谓的胖箭头语法:handlePress:=>this.myFunction。它们或多或少是等价的,有人认为胖箭头语法取代了绑定语法,而且,一如既往,也有人持相反的观点:。存在差异,例如引用: 箭头函数总是匿名的,这意味着您不能,例如 实例,可靠地递归调用它们,因为您没有 使用可靠的词汇名称。 箭头函数实际上创建 this、super和arguments的词法绑定。只有这是必然的 由。绑定。。。 箭头函数不能在新表达式中使用, 在绑定时。。绑定函数可以。 此外,鉴于这是一个react原生问题,了解这篇有趣的文章可能会有所帮助:
对于大多数元素,可以在react native中使用onPress函数 onPress={=>{Alert.alertyour clicked me} 如果需要绑定,通常可以使用以下示例:
onPress={this.functionName.bindthis}Change const{params}=navigation;to const{params}=navigation.state@bennygenel:我得到一个错误undefined不是一个计算'\u this2.myFunction.bind'的对象更改handlePress:=>this.myFunction.bindthis到handlePress:=>this.myFunction因为你使用的是箭头函数,所以你不需要绑定它。现在一切正常。
myFuntion() {
//...
}