React Native 箭头函数和 'if' 语句

React Native arrow functions and 'if' statements

我刚刚学习了箭头函数,以及当您开始在 .

上使用子函数时它们如何帮助提高可见性

我不确定这对于“if”语句是否不同,但我根本无法让它工作。问题:

myFunction() {
    console.log('Welcome Flag: ' + this.props.welcomeFlag);
    if (this.props.welcomeFlag == false) {
        this.props.dispatch(setWelcomeFlag(true));
        showMessage('Welcome back, ' + this.props.userName + '!', { duration: 3000 });
    }
}

在此示例中,控制台记录了 welcomeFlag 的初始值,即“false”。然后我想,如果它是假的,向用户显示一条消息并将其设置为真。超级简单的东西。

这里掉了:

this.props.dispatch(setWelcomeFlag(true));

因为我的 if 语句不是箭头语句。

除非我无法让箭头语句用于 if 语句。它适用于其他类型的语句,但不适用于这些。

我已经尝试过此处列出的答案:

但是 none 这些工作。

我该如何解决?

myFunction()是一个class级函数。将任何东西绑定到 this 是指 class 本身,因此您需要绑定它才能访问 this 属性,否则您将无法访问 [=19] =]class级道具.

虽然有很多方法可以按照 here 的解释绑定它,但最简单的方法是使用 shorthand 箭头语法 as

myFunction = () =>