React native 如何处理导航标题栏中的按钮按下

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: (

我对react native非常陌生,目前正在使用react navigation为我的应用程序处理导航。 我想能够添加一个按钮到我的应用程序的标题栏创建的反应导航,并能够按下一个按钮调用一个功能

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() {
    //...
}