【问题标题】:context of `this` in javascript react-nativejavascript react-native中`this`的上下文
【发布时间】:2017-09-18 03:37:16
【问题描述】:

我在这里关注react-navigation navigator tutorial 并且对使用this.navigator = nav 设置this.navigator 的方式感到困惑

完整代码如下:

import { NavigationActions } from 'react-navigation';

const AppNavigator = StackNavigator(SomeAppRouteConfigs);

class App extends React.Component {
  someEvent() {
    // call navigate for AppNavigator here:
    this.navigator && this.navigator.dispatch(
      NavigationActions.navigate({ routeName: someRouteName })
    );
  }
  render() {
    return (
      <AppNavigator ref={nav => { this.navigator = nav; }} />
    );
  }
}

据我了解(至少对于 JavaScript 以外的编程语言,&lt;AppNavigator ref={nav =&gt; { this.navigator = nav; }} /&gt; 中的this 应该指的是AppNavigator,因此,someEvent 中的代码怎么能像访问相同的 this.navigator由该代码设置?

任何线索将不胜感激。提前致谢!

【问题讨论】:

    标签: javascript react-native react-navigation


    【解决方案1】:

    箭头函数表达式的语法比函数短 表达式并且不绑定自己的this

    from MDN

    因此this 绑定到App,这解释了这种行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-12
      • 1970-01-01
      • 1970-01-01
      • 2018-06-22
      • 2021-10-13
      • 2018-05-07
      相关资源
      最近更新 更多