React中的实例?

问题描述

class OMG extends React.Component {
  render() {
    return <h1>Whooaa!</h1>;
  }
}

class Crazy extends React.Component {
  render() {
    return <OMG />;
  }
}

代码中,疯狂类的render方法现在返回OMG,返回的OMG是什么?

  1. 是上流社会吗?
  2. 还是OMG类的实例?
  3. 如果它是OMG类的实例,为什么它与OMG类的名称相同? 十分困惑????????????

解决方法

没有“上层阶级”

那只是一个调用另一个函数的组件(作为调用另一个函数的函数)
您可以将该代码与类似的内容进行比较

function OMG() {
  console.log('Whooaa!');
}

function Crazy(){
  OMG()
}

此外,您返回的组件结构可能不止一个组件,因此谈论“上层类”毫无意义

class MyBigTitle extends React.Component {
  render() {
    return <h1>Welcome on my website!</h1>;
  }
}

class MyHomePage extends React.Component {
  render() {
    return (
      <div>
        <MyBigTitle/>
        <MyBeautifulForm/>
      </div>
    );
  }
}