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