我尝试在反应中集成Jquery自定义滚动条插件here。这是我的代码

import $ from "jquery";
import mCustomScrollbar from 'malihu-custom-scrollbar-plugin';
.....
 componentDidMount: function() {
     // fixed sidebar
        var self = this;
        mCustomScrollbar($);
        $(ReactDom.findDOMNode(this.refs.menu_fixed)).mCustomScrollbar({
            autoHideScrollbar: true,
            theme: 'minimal',
            mouseWheel:{ preventDefault: true }
        });
        self.forceUpdate();
  },


我收到此错误index.jsx:51 Uncaught TypeError:(0,_malihuCustomScrollbarPlugin2.default)不是一个函数

有没有人可以帮助使其工作谢谢

最佳答案

这不是React错误。这是基于您的模块加载器(我想是webpack)将jQuery插件当作ES2015模块来对待的。尝试以CommonJS样式导入您的插件。换句话说,替换为:

import mCustomScrollbar from 'malihu-custom-scrollbar-plugin';


与:

var mCustomScrollbar = require('malihu-custom-scrollbar-plugin');


如果这不起作用,则需要共享有关模块加载器及其配置的更多信息。

就是说,正如Toby所述,尝试将jQuery插件与React组件结合通常是不可靠和棘手的,因此请谨慎行事。

10-02 14:26