{
C: "div",
props: { ... }
}
{
map(components, ({ C, props }) => <C {...props />)
}
state = {
components: []
}
this.setState(prevState => {
...prevState,
components: [...prevState.components, <div key={`div_${prevState.components.length + 1}`}>div</div>]
})
<main>
{this.state.components}
</main>
return {
elem: [...state.elem, { id: state.elem.length + 1, tag: "div" }]
}