在Reactjs componentDidMount

时间:2019-04-26 20:51:18

标签: javascript reactjs

我要熟悉React.js并尝试加载一些外部脚本。我不仅要加载一个脚本,还需要加载一个脚本。有多个:每页至少三个。

我想动态加载它们,而不是将它们放到index.html中,因为我不需要在每个页面上都使用它们。

然后我想触发 onload ,以防止我的函数在脚本被加载之前运行。

我尝试创建一个数组并使用 onload ,如下例所示。脚本会正确加载 ,但函数不会加载。

  componentDidMount(){
    const脚本= [
        '/js/script1.js',
        '/js/script2.js',
        '/js/script3.js',
    ];
    scripts.forEach(s => {
      const脚本= document.createElement(“ script”);
      script.type ='text / javascript';
      script.src = s;
      script.async = true
      document.head.appendChild(script);
    })

    scripts.onload = function(){
      foo ...
    }
  }
 

我也尝试过使用 Helmet react-async-script-loader ,但是都没有用,因为脚本没有在功能之前加载,这意味着我遇到 undefined 错误。

如果有人能解释一下脚本数组加载后如何运行该函数,我将不胜感激。

0 个答案:

没有答案