2017-07-26 54 views
1

在我的代碼,我創建這個函數初始化ReactDOM.render()函數的標籤:使用React JS的全局範圍變量?

var initialiserTag; 

initialiserTag = function(tag){ 
    ReactDOM.render(<MyApp />, document.getElementById(tag)); 
} 

export default initialiserTag; 

然後我捆綁我的陣營代碼的WebPack並把bundle.js文件在結束我的頁面:

{% block javascripts %}{{ parent() }} 

    <!-- TODO 
     Call initialiserTag('myTag') here 
    --> 

     <script src="{{ asset('bundles/app/bundle.js') }}"></script>         
{% endblock %} 

如何從外部調用initialiserTag()函數?

+0

把這個函數放在全局範圍內的目的是什麼?只是好奇...... :) –

+0

@ArnaudChrist能夠在同一頁面上多次調用相同的包,但在不同的標籤上。 – Mit94

回答

0

您可以使用expose-loader 將某些模塊暴露給全局對象。

+0

我真的不明白它是如何工作的。我所要做的就是在PHP頁面上編寫'require(「expose-loader?myApp!.//myApp.js」);'在我的React代碼中,然後'window.myApp.initialiserTag('myTag')'? – Mit94

+0

你試過了嗎? –