2017-05-20 37 views
0

我有一個反應腳本,我需要它來加載單擊按鈕時,所以我創建了一個函數與jQuery的捕捉點擊按鈕,然後loades反應腳本這樣在jQuery按鈕點擊調用反應腳本

$('#but').on('click', function(){ 
    $.getScript("/static/39f3e10/js/loadxb.jsx", function (data, textStatus, jqxhr) { 
    console.log(data); 
    console.log(textStatus); 
    console.log(jqxhr.status); 
    console.log("file is loaded"); 
    }); 
}); 

當我點擊按鈕的腳本獲取加載成功,但它不執行,這意味着反應腳本不渲染呈現一個組件內的div,我沒有得到任何錯誤的方式控制檯

回答

0

由於瀏覽器無法執行JSX腳本,因此無法正常工作。它必須由React解析,然後運行解釋它並使用該模板的腳本。

我很抱歉給你一個「你做錯了」的回答,但基本上你不能/不應該使用Jquery來執行JSX文件。你應該在你的主要反應應用中包含反應模板,然後如果你真的想通過按鈕點擊發生某些事情,那麼你會在你的應用上調用一個方法。但通常情況下,不建議以這種方式混合jquery。

+0

如果我將jsx腳本編譯爲js腳本,然後用它調用'$ .getScript()'會怎麼樣? – ChemseddineZ

+0

當然,你也必須在腳本中捆綁整個React,據推測。不知道你的整體計劃是在這裏,但我建議重新考慮這個,並採取「反應的方式」。但這只是意見。 – stef