鍍金池/ 問答/HTML/ 如何在jsx中調(diào)用script標(biāo)簽?

如何在jsx中調(diào)用script標(biāo)簽?

我想在jsx中按需引入第三方的js,如


// ...
return (
  <div>
    ...
    <script src="http://..."></script>
  </div>
)

雖然在最終的dom中能生成<script src="http://..."></script>

但瀏覽器并沒有真的請(qǐng)求這個(gè)遠(yuǎn)程的js

請(qǐng)問應(yīng)該怎么做?

回答
編輯回答
薄荷綠

好奇怪的寫法。
建議寫到html中去吧。不要在component中寫一些非react組件。

2018年2月12日 22:57
編輯回答
笑浮塵
  componentDidMount() {
    setInterval(this.fetchDataSource, 5000);
    const body = document.getElementsByTagName('body')[0];
    const script = document.createElement('script');
    script.src = 'https://cdn.bootcss.com/jquery/3.2.1/core.js';
    body.appendChild(script);
  }

可以這樣寫,但是這樣會(huì)有個(gè)問題會(huì)導(dǎo)致script標(biāo)簽多次加載.

clipboard.png

2017年10月3日 04:48
編輯回答
糖果果
componentDidMount(){
    var s = document.querySelector("#jsonp");
    s&&s.parentNode.removeChild(s);
    var script = document.createElement("script");
    script.id = "jsonp";
    script.src = 'https://cdn.bootcss.com/jquery/3.2.1/core.js';
    document.body.appendChild(script);
 }

這樣只加載一次

2017年5月24日 04:43