我要熟悉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
错误。
如果有人能解释一下脚本数组加载后如何运行该函数,我将不胜感激。