Javascript React中的匿名类
我听说过匿名函数,但Annynomous类的概念对我来说是新概念。例如,我们这里有一个HOC,看起来像这样Javascript React中的匿名类,javascript,reactjs,Javascript,Reactjs,我听说过匿名函数,但Annynomous类的概念对我来说是新概念。例如,我们这里有一个HOC,看起来像这样 import React, { Component } from 'react'; const withClass = (WrappedComponent, className) => { return class extends Component { render () { return ( <div cl
import React, { Component } from 'react';
const withClass = (WrappedComponent, className) => {
return class extends Component {
render () {
return (
<div className={className}>
<WrappedComponent {...this.props} />
</div>
)
}
}
}
import React,{Component}来自'React';
常量withClass=(WrappedComponent,className)=>{
返回类扩展组件{
渲染(){
返回(
)
}
}
}
[问题]
这里,我无法理解这一行的含义返回类扩展组件{
(我从React,{Component}知道扩展组件)
有人能解释一下它的一般用途吗?如果描述很模糊或简短,请告诉我
在这里,我无法理解此行的含义返回类扩展组件{
有人能给我解释一下它的一般功能吗
它定义了一个没有名称的类,并从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>
…呈现时。在javascript中,类通常只是一个“特殊函数”。语法糖。因此,您可以使用类声明、类表达式(包括匿名)与普通函数一样。此外,可以使用匿名类表达式并不意味着您应该这样做。为调试等提供函数名总是一个好主意。