2017-08-03 151 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

我很感激你接受並讚揚我的回答... –