我想在jsx中按需引入第三方的js,如
// ...
return (
<div>
...
<script src="http://..."></script>
</div>
)
虽然在最终的dom中能生成<script src="http://..."></script>
但浏览器并没有真的请求这个远程的js
请问应该怎么做?
我想在jsx中按需引入第三方的js,如
// ...
return (
<div>
...
<script src="http://..."></script>
</div>
)
虽然在最终的dom中能生成<script src="http://..."></script>
但浏览器并没有真的请求这个远程的js
请问应该怎么做?
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);
}
这样只加载一次
class myComponent extends Component {
componentDidMount() {
let s = document.createElement(“script”);
s.src = “//foursixty.com/media/scripts/fs.slider.v2.5.js”;
s.setAttribute(“data-feed-id”, “ryee_13”);
s.async = true;
this.fourSixtyElement.appendChild(s);
}
render() {
return (
<div ref={el => (this.fourSixtyElement = el)}></div>
);
}
}
不知道题主解决该问题没有,本人写自用程序时,用到了tradingView的插件,遇到了这个问题,现在提供本人的解决思路:
供参考。
5 回答8.4k 阅读
2 回答10.6k 阅读✓ 已解决
2 回答10.7k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答4.9k 阅读✓ 已解决
3 回答1.9k 阅读
2 回答5.8k 阅读
可以这样写,但是这样会有个问题会导致script标签多次加载.