Reactjs 通过脚本标记加载外部javascript

Reactjs 通过脚本标记加载外部javascript,reactjs,Reactjs,我正在尝试使用script标记动态加载脚本。但是我做不到 我的渲染方法如下 render() { <div> <script type="text/javascript" language="javascript" src="//verify.authorize.net/anetseal/seal.js" ></script> <a href="http://www.authorize.net/" id="AuthorizeNet

我正在尝试使用script标记动态加载脚本。但是我做不到

我的渲染方法如下

render() {
<div> 
     <script type="text/javascript" language="javascript" src="//verify.authorize.net/anetseal/seal.js" ></script> 
     <a href="http://www.authorize.net/" id="AuthorizeNetText" target="_blank">Working. Yipee</a> 
</div>
}
render(){
}
我试图使用危险的HTML,但也不起作用


我之所以需要它,是因为上面提到的脚本使用document.writeln。所以我希望它显示在当前的div中。我无法控制脚本。它来自第三方。

您可以将
脚本
标记附加到您的身体上,如下所示:

componentDidMount() {
  var addScript = document.createElement('script');
  addScript.setAttribute('src', '//verify.authorize.net/anetseal/seal.js');
  document.body.appendChild(addScript);
}
render() {
  return (
    <div>
      <a href="http://www.authorize.net/" id="AuthorizeNetText" target="_blank">Working. Yipee</a> 
    </div>
  );
}
componentDidMount(){
var addScript=document.createElement('script');
addScript.setAttribute('src','//verify.authorize.net/anetseal/seal.js');
document.body.appendChild(addScript);
}
render(){
返回(
);
}

我相信您可以更具体地说明脚本加载后应该做什么。这样的东西应该很适合你:

componentDidMount() {
    var aScript = document.createElement('script');
    aScript.type = 'text/javascript';
    aScript.src = " /*URL Goes Here*/ ";

    document.head.appendChild(aScript);
    aScript.onload = function() {
        document.getElementById(" /*DIV ID HERE*/ ").InnerHTML = /*YOUR CODE*/;
    };
}

你可以试着用头盔

render(){
}

检查链接是否不适合meI,因为我不想将其附加到body元素中。我想将其附加到so div元素。如果我做document.getElementById('id').appendChild(脚本),它会给我null异常。这是一个不错的项目,但我认为它需要更新。将
组件放置在JSX中会显示一条警告:
react dom.development.js:12466警告:组件willmount已重命名,不建议使用。
render() {
<div>
  <Helmet>
     <script type="text/javascript" language="javascript" src="//verify.authorize.net/anetseal/seal.js" />
  <Helmet>
  <a href="http://www.authorize.net/" id="AuthorizeNetText" target="_blank">Working. Yipee</a> 
</div>
}