2017-08-03 79 views
0

已经尝试了一个星期!我想将JSX存储在一个使用解析器构建的数组中。我想这样做存储延迟渲染的JSX代码

JSX.push(<Accordion 
       uniqId={'addAsset'} 
       {...this.props} 
       singleOpen={true} >); 

这可能吗?我可以将它存储为一个字符串,并稍后将JSX代码解释为一个字符串数组?

+0

我不认为这是可能的,因为你只能用你的JSX组件的返回值。为什么不存储所需的数据,然后在渲染组件时映射这些数据? –

+0

它应该是一个表单创建者。直到解析JSON文件之后,我才知道组件。 – Addinall

回答

1

我认为,这是不可能的data

JSX.push(<Accordion 
       uniqId={'addAsset'} 
       {...this.props} 
       singleOpen={true} >); 

你可以存储在阵列中的数据,以后你可以映射和使用数组数据调用组件...

其他选项是

您可以将组件存储在没有数据的array中,稍后可以调用该组件。

JSX.push(Accordion); 
JSX.push(TextBox); 

然后

JSX.map(function(item){ 
    <item {...data}/> 
}) 
+0

谢谢。我会给第二个尝试。 – Addinall

+0

我很感激你接受并赞扬我的回答... –