Reactjs 组件类型无效

Reactjs 组件类型无效,reactjs,react-jsx,Reactjs,React Jsx,查看ReactJS文档中的,下面的代码应该可以工作: class App extends Component { constructor() { super(); this.state = { test: <div>Test</div>}; } render() { const Test = this.state.test; return <Test />; } } 我不明白为什么这不起作用;请解释一下

查看ReactJS文档中的,下面的代码应该可以工作:

class App extends Component {
  constructor() {
    super();

    this.state = { test: <div>Test</div>};
  }

  render() {
    const Test = this.state.test;

    return <Test />;
  }
}
我不明白为什么这不起作用;请解释一下

请注意,上面的测试应用程序是使用创建的。

这将创建一个元素—要呈现到屏幕上的DOM节点的特定实例

this.state = { test: <div>Test</div>};
this.state={test:test};
这将获取该元素并尝试将其视为组件—一个知道如何将自身呈现为元素的React函数或类

const Test = this.state.test;
return <Test />;
const Test=this.state.Test;
返回;
要使用传统OO的类比,这类似于获取一个类实例并尝试将其用作一个类

这样的方法应该可以奏效:

this.state = { test: <div>Test</div>};
// ...
return this.state.test;
this.state={test:test};
// ...
返回此.state.test;
有关详细信息,请参见

这将创建一个元素—要呈现到屏幕上的DOM节点的特定实例

this.state = { test: <div>Test</div>};
this.state={test:test};
这将获取该元素并尝试将其视为组件—一个知道如何将自身呈现为元素的React函数或类

const Test = this.state.test;
return <Test />;
const Test=this.state.Test;
返回;
要使用传统OO的类比,这类似于获取一个类实例并尝试将其用作一个类

这样的方法应该可以奏效:

this.state = { test: <div>Test</div>};
// ...
return this.state.test;
this.state={test:test};
// ...
返回此.state.test;
有关详细信息,请参阅