我刚刚接受了箭头函数的教育,以及当您开始使用子函数时它们如何帮助提高可见性React Native 和全局可访问的对象 https://stackoverflow.com/questions/50209526/react-native-and-globally-accessible-objects?noredirect=1#comment87436338_50209526.
我不确定这对于“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”。然后,如果为 false,我想向用户显示一条消息并将其设置为 true。超级简单的东西。
它倒在这里:
this.props.dispatch(setWelcomeFlag(true));
因为我的if语句不是箭头语句。
除了我无法让箭头语句起作用if声明。它适用于其他类型的语句,但不适用于这些语句。
我已经尝试过这里列出的答案:
如何在 JavaScript 中的箭头函数中使用 if-else 条件? https://stackoverflow.com/questions/37627712/how-to-use-if-else-conditon-in-arrow-function-in-javascript
但这些都不起作用。
我该如何修复它?
myFunction()
是一个类级别的函数。将任何东西绑定到this
正在引用一个类本身,因此您需要绑定它才能访问this
属性,否则您将无法访问班级级别道具.
尽管有很多方法可以绑定它,如所解释的here https://medium.freecodecamp.org/react-binding-patterns-5-approaches-for-handling-this-92c651b5af56,但最简单的一种是使用简写箭头语法 as
myFunction = () =>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)