【问题标题】:ES6+ instance property instantiated outside of constructor在构造函数之外实例化的 ES6+ 实例属性
【发布时间】:2016-06-19 14:19:14
【问题描述】:

在 React/React-Native 中使用 ES6+ 语法,变量foo,当在构造函数之外定义时,在使用this. 调用时会以某种方式转换为实例变量。我的断言是真的吗?为什么它甚至可以工作,而不是在构造函数中实例化?这里有一个对应的React Native代码sn-p:

class myComponent extends Component {
  constructor() {
    super();
  }

  foo = "bar";

  render() {
    return ( <View>{ this.foo }</View> );
  }
}

This discussion about ES7 property initializers 展示了state 变量是如何在 React/React Native 中以这种方式突出使用的。

到目前为止,我通过 here 和 here 阅读的有关 Stack Overflow 的讨论无法为我回答这个问题..

【问题讨论】:

  • “为什么它在构造函数中没有被实例化时还能工作?”——因为类字段是一个可怕的想法
  • 相关帖子here.

标签: javascript reactjs react-native ecmascript-next


【解决方案1】:

你的断言是正确的。

问题是它目前只是在stage-1 中,所以不清楚它何时以及是否会成为标准。

参考资料:

【讨论】:

  • 我明白了。感谢您的链接!我不了解整个 ECMAScript 开发过程的不同阶段等。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-16
  • 2015-12-09
  • 1970-01-01
  • 2019-07-16
  • 1970-01-01
相关资源
最近更新 更多