我听说过匿名函数,但是匿名类的概念对我来说是新的.例如,我们这里有一个看起来像这样的HOC.
import React, { Component } from 'react';
const withClass = (WrappedComponent, className) => {
return class extends Component {
render () {
return (
<div className={className}>
<WrappedComponent {...this.props} />
</div>
)
}
}
}
[题]
在这里,我无法理解此行的含义返回类extend Component {(我知道React的extends组件,{component})
有人可以解释一下它的一般功能吗?如果描述很模糊或简短,请告诉我.
解决方法:
Here, I am unable to understand meaning of this line
return class extends Component {
Can someone explain me what it does generally?
它定义了一个没有名称的类,并从withClass函数返回它.
也就是说,它做到了这一点,但是全部是在一个表达式中完成的,而没有给该类起一个名字:
import React, { Component } from 'react';
const withClass = (WrappedComponent, className) => {
class TheClass extends Component {
render () {
return (
<div className={className}>
<WrappedComponent {...this.props} />
</div>
)
}
}
return TheClass;
}
您可以这样使用它:
const MyClass = withClass(SomeComponent, "foo");
…您可以这样使用:
<MyClass foo="bar"/>
…你会得到
<div className="foo">
<SomeComponent foo="bar" />
</div>
…呈现时.