通过useScript
自定义钩子添加脚本后,调用该方法时未定义该方法!
import React from 'react';
import ReactDOM from 'react-dom';
import useScript from './use-script';
import './styles.scss';
function App() {
// Note: If you fork this sandbox change "pm28k14qlj" in url to your sandbox id
const [loaded, error] = useScript(
'https://pm28k14qlj.codesandbox.io/test-external-script.js'
);
return (
<div>
<div>
Script loaded: <b>{loaded.toString()}</b>
</div>
<br />
{loaded && !error && (
<div>
Script function call response: <b>{TEST_SCRIPT.start()}</b>
</div>
)}
</div>
);
}
const rootElement = document.getElementById('root');
ReactDOM.render(<App />, rootElement);
对于./use-script.js
,请转到useScript
此代码表明未定义“ TEST_SCRIPT”!在codeSandBox中可以正常工作,为什么? 我禁用了Eslint,但仍然无法正常工作。 但是,它可以在浏览器控制台中工作。