Javascript React中的匿名类

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

我听说过匿名函数,但Annynomous类的概念对我来说是新概念。例如,我们这里有一个HOC,看起来像这样

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中,类通常只是一个“特殊函数”。语法糖。因此,您可以使用类声明、类表达式(包括匿名)与普通函数一样。此外,可以使用匿名类表达式并不意味着您应该这样做。为调试等提供函数名总是一个好主意。