Javascript 将组件作为React setState值传递时出现问题?

Javascript 将组件作为React setState值传递时出现问题?,javascript,reactjs,Javascript,Reactjs,我对这段代码感到困惑,因为我从来没有这样写过 所以!有什么问题吗?我不确定 import React from "react" import ChildComponent from "./ChildComponent" class App extends React.Component { state = { component: null } componentDidMount() { this.setState({

我对这段代码感到困惑,因为我从来没有这样写过

所以!有什么问题吗?我不确定

import React from "react"
import ChildComponent from "./ChildComponent"

class App extends React.Component {
    state = {
       component: null
    }

    componentDidMount() {
       this.setState({
          component: <ChildComponent />
       })
    }

    render() {
       return {this.state.component}
    }
}

通常,您不希望在状态中存储jsx/组件。您的状态应该包含表示UI状态所需的最少数据量

回到您的问题,如果您想让代码正常工作,请将jsx存储在您的状态中,而不是函数/类引用。同样在您的例子中,您不需要使用花括号渲染子组件

工作

代码片段

从React导入React 从导入ChildComponent。/ChildComponent 导出默认类App扩展React.Component{ 状态={ 组件:空 } 组件安装{ 这是我的国家{
component://您的示例让我问了更多的问题。这应该是一个最小的可复制示例吗?我问这个问题是因为您似乎应该只渲染ChildComponent。您真正想做的是什么?如果问题如此简单,请尝试一下。这段代码在我的项目中运行良好,我只是想知道它是否优雅或推荐@DCTID