React中类和功能块之间的区别?

时间:2019-02-07 18:33:00

标签: javascript reactjs class

我正在浏览有关 React常见问题的文章,在那里找到了这个示例。

class Numbers extends React.Component {
  const arrayOfNumbers = _.range(1, 10);
  // ...
}

上面说的是上面的代码无效,因为在JavaScript类的主体内,您没有做任何事情的自由。您只能使用有限的语法定义方法和属性。 这有点令人困惑,因为类语法中使用的{}看起来像是普通的块作用域,但事实并非如此。 在基于功能的组件中,您确实可以做任何事情

// Totally Okay:
const Number = (props) => {
  const arrayOfNumbers = _.range(1, 10);
  // ...
};

任何人都可以向我解释为什么上面的声明在类体内无效吗?那个看起来_.奇怪的符号是什么??

1 个答案:

答案 0 :(得分:0)

  

任何人都可以向我解释为什么上面的声明在类体内无效吗?

这就是类语法的方式。您可以在类的主体中定义函数,然后将它们放在原型上。如果需要任何实例变量,请在构造函数中进行操作。

  

那奇怪的_是什么。符号??

这是一个名为_的变量。在这种情况下,几乎可以肯定是对Lodash library(具有实用程序功能的常用库)的引用。