我尝试在反应中集成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组件结合通常是不可靠和棘手的,因此请谨慎行事。