编程语言
首页 > 编程语言> > javascript – 在react组件中写一个类之外的函数

javascript – 在react组件中写一个类之外的函数

作者:互联网

我见过这样的代码

function abc(){
  return 'abc'
}
class MyComponent extends React.Component {
    static abc = abc;
    render() { return <h1>{this.abc}</h1>; }
}

其中函数abc在react类之外定义.我不知道为什么作者这样做,为什么不能在课堂上这样做呢?

解决方法:

这些是ES6 static methods,并不是React独有的.它们是组件类的成员,而不是组件的实例.它们并没有在React中广泛使用,但它们可能很有用.它甚至在React docs中提到:

Sometimes it’s useful to define a static method on a React component.
For example, Relay containers expose a static method getFragment to
facilitate the composition of GraphQL fragments.

它们可以用作Component的公共成员,由它的所有实例共享.为了给你一个想法,其他static members of a React class是displayName和defaultProps.

另请参见Static methods in React.正如您所看到的,在很多情况下您将使用静态方法.

标签:javascript,ecmascript-6,reactjs,es6-class
来源: https://codeday.me/bug/20190627/1305511.html