那不用useEffect怎么解决上述问题
时间: 2023-07-28 10:43:40 浏览: 40
如果您不想使用useEffect钩子函数,则可以在组件的构造函数中创建script元素并将其附加到文档的body上,如下所示:
```jsx
import React from 'react';
class MyComponent extends React.Component {
constructor(props) {
super(props);
const script = document.createElement('script');
script.src = 'path-to-external-js-file.js';
script.async = true;
document.body.appendChild(script);
}
componentWillUnmount() {
const script = document.querySelector('script[src="path-to-external-js-file.js"]');
document.body.removeChild(script);
}
render() {
return (
<div>
// Your component content
</div>
);
}
}
export default MyComponent;
```
在上述代码中,我们在组件的构造函数中创建了一个script元素并将其附加到文档的body上。在组件卸载时,我们从文档中删除该元素。这样,我们就可以在React组件中引入外部JavaScript脚本,而不必使用useEffect钩子函数。