react引入外部方法的方法:1、通过import引入外部方法;2、通过react中的生命周期来引入外部方法,代码如“componentDidMount(){let scriptSrc = ['/config/jquery.min.js', '/config/lib/codemirror.js']scriptSrc.map(res => {…}”。
本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。
react怎么引入外部方法?
记录react引入外部功能js问题
在做react项目时,有的时候需要引用其他原生js模块(也就是方法)
如果该js内是通过es6的export default导出的则在jsx中可以通过import引入;
但如果该js只是一个方法也没有通过es6等导出必须通过script引入;
例如我写了一个原生js或着在一个js中通过jquery来操作节点返回值也就是当点击页面元素时触发原生事件,则在jsx中不可通过import引入
引入该js有两种方法
1.如果在你的react框架中的html中引入
2.也可在jsx中通过react的中的生命周期来引入
例如
componentDidMount() { // 要引入的js文件地址 let scriptSrc = ['/config/jquery.min.js', '/config/lib/codemirror.js'] scriptSrc.map(res => { // 动态创建script标签 var script = document.createElement('script'); // 规则 script.type = "text/javascript" // script中src只想路径 script.src = res; // 追加到html的head头中 document.head.appendChild(script); }) var script = document.createElement('script') script.type = 'text/javascript' script.src = '/config/show-hint.js' // 追加到html中body的内 document.body.append(script) var script = document.createElement('script'); script.type = "text/javascript" script.src = '/config/formula.js'; // 追加到html中body的内 document.body.append(script); }
登录后复制
需要引入进去几个js,就需要动态创建几个script标签,不然后者会将前者覆盖
将js添加到头的话是因为
必须等到全部的js代码都下载解析和执行完成以后,才开始展现页面内容
引入的时候有个坑
在html中script引入js的话他的js地址为
http://http://localhost:端口号/你的js名称
登录后复制
也就是指浏览器找寻的js地址是你项目中public中的文件也就是静态资源下的文件,所以我们需要将js放入public(静态资源目录下)引入的话直接/你的路径。
推荐学习:《react视频教程》