在react里面使用jquery插件

在react里面使用jquery插件

背景:

虽然现在react,vue等框架开启了前端开发的新篇章,
 但对于一些比较复杂的页面,比如想在项目里面生成
 组织架构图,人员汇报关系等还是需要用到之前的
 jquery插件。比如:

jsplumb
spacetree
lenchart

首先要在react里面安装jquery

npm install jquery --save

将$变量挂载到window下面,可以在项目中直接使用$,不用再引用

//修改webpack配置文件:
     plugins:[
        new webpack.ProvidePlugin({
        $:"jquery",jQuery:"jquery","window.jQuery":"jquery"
        })
      ]

使用jquery插件的姿势

首先用 require(/your/path/jquery.plugin) 引用jquery插件
webpack支持ES6的import,requirejs,commonjs语法,可以用CMD,AMD的方式引用。
AMD写法:
define(["jquery"],function($){
         ...
         var initialChart = function(data){
             //插件逻辑
         }
         ...
         $(function(){
             //页面逻辑
         })
         ...
         
         return{
            initialChart:initialChart //导出函数
         } 
     })
CMD写法
function orgOrgChart(data){
          //插件逻辑
      }
      $(function(){
             //页面逻辑
      })
      module.exports.orgOrgChart = orgOrgChart //导出函数

最后在react里面引用导出的函数并在生命周期函数里面调用

import {initialChart} from ‘../../es5Components/emp-orgChart.js‘ 
     import {orgOrgChart} from ‘../../es5Components/emp-orgChart.js‘ 
     
     ...
     componentDidMount(){
         initialChart(this.state.data);
         orgOrgChart(this.state.data)
     }
     ....

安利自己在写的react项目 github,欢迎star

来源:http://www.voidcn.com/article/p-uffvjqup-bnw.html

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...