从外部脚本访问React DOM元素

时间:2019-04-23 03:19:30

标签: javascript reactjs typescript

我正在尝试从外部脚本文件访问React DOM元素“ id”。我相信我的脚本可以从console.log('test')正确导入,尽管console.log(myDiv)返回null。

如何在React中实现这一目标?

//组件

import './../data/script.ts';

  render() {
    return (
        <div id='targetDiv'>
          <p>{This will be populated from my external script file...}</p>
        </div>
    );
  }

//脚本

  var myDiv = document.getElementById('targetDiv');
  console.log(myDiv);

1 个答案:

答案 0 :(得分:0)

要解决此问题,我需要将外部脚本作为函数导入,然后在安装组件后调用该函数:

//组件

import { myScript } from './../data/script';

  componentDidMount() {
    {
      myScript();
    }
  }

  render() {
    return (
        <div id='targetDiv'>
          {My script now renders correctly inside the div}
        </div>
    );
  }

//脚本

  var myDiv = document.getElementById('targetDiv');
  const d = document.createElement('p');
  myDiv.appendChild(d);