为什么将ReactJS中的Arrow函数视为属性?

时间:2018-11-05 22:58:38

标签: reactjs function methods visual-studio-code arrow-functions

因此,我根据需要尝试了两种不同的方法,即使用Arrow函数和Non-Arrow函数,并且在编写代码时,我注意到这两种方法都有些奇怪,即非箭头函数

bounds

被认为是方法,因为它们是函数, nonArrow

但是当我编写箭头函数时,例如:

  close() {
    this.setState({
      show: false
    });
  }

property

它被认为是一种财产,我完全不了解这种行为。 VSCode是否有问题或完全不同?

1 个答案:

答案 0 :(得分:0)

class MyClass { aClassProperty = <whatever_value>; }表示您正在创建一个新的class property for every new instance of the class。该属性可以是您喜欢的任何值,但是在这种情况下,该属性是箭头函数,因此是正确的。

aMethod()在该类的每个实例之间共享,但是在React中,通常无论如何都要通过将其绑定到this来在构造函数中创建一个新函数,因此最终结果是相同的。