新网创想网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

react如何引入外部方法

本篇内容介绍了“react如何引入外部方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联公司长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为防城港企业提供专业的网站设计、成都网站制作,防城港网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。

react引入外部方法的方法:1、通过import引入外部方法;2、通过react中的生命周期来引入外部方法,代码如“componentDidMount(){let scriptSrc = ['/config/jquery.min.js', '/config/lib/codemirror.js']scriptSrc.map(res => {...}”。

记录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如何引入外部方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


网页题目:react如何引入外部方法
本文URL:http://www.wjwzjz.com/article/gcjchg.html
在线咨询
服务热线
服务热线:028-86922220
TOP