我试图测试Dragula与反应的拖放和发现问题。我发现了一个错误:
Uncaught : react_dragula_1.default不是函数
任何人都面临这个问题或解决这个问题的线索。
import * as React from "react";
import * as ReactDOM from 'react-dom';
import Dragula from 'react-dragula';
export class MultiPicklist extends React.Component {
render() {
return (<div className="swish-input-textarea">
<div className='parent'>
<div className='wrapper'>
<div id='left-defaults' className='container' ref={this.dragulaDecorator} >
<div>Element 0</div>
<div>Element 1</div>
<div>Element 2</div>
<div>Element 3</div>
</div>
<div id='right-defaults' className='container'>
<div>Element a</div>
<div>Element b</div>
<div>Element c</div>
<div>Element d</div>
<div>Element e</div>
</div>
</div>
</div>
</div>);
},
dragulaDecorator = (componentBackingInstance) => {
if (componentBackingInstance) {
let options = { };
console.log('componentBackingInstance');
console.log(componentBackingInstance);
Dragula([componentBackingInstance]);
}
};
}发布于 2016-08-28 23:44:28
我看到您有点搞砸了ES6类语法。尝试在类定义之外拉出ref回调:
import * as React from "react";
import * as ReactDOM from 'react-dom';
import Dragula from 'react-dragula';
export class MultiPicklist extends React.Component {
render() {
return (<div className="swish-input-textarea">
<div className='parent'>
<div className='wrapper'>
<div id='left-defaults' className='container' ref={dragulaDecorator} >
<div>Element 0</div>
<div>Element 1</div>
<div>Element 2</div>
<div>Element 3</div>
</div>
<div id='right-defaults' className='container'>
<div>Element a</div>
<div>Element b</div>
<div>Element c</div>
<div>Element d</div>
<div>Element e</div>
</div>
</div>
</div>
</div>);
}
}
const dragulaDecorator = (componentBackingInstance) => {
if (componentBackingInstance) {
let options = { };
console.log('componentBackingInstance');
console.log(componentBackingInstance);
Dragula([componentBackingInstance]);
}
};您也可以在类方法中使用ES6箭头函数,但为此您需要启用Babel中的实验性特性来编译它。请检查此问题以获得更多详细信息:https://stackoverflow.com/a/31362350/4642844
https://stackoverflow.com/questions/39196346
复制相似问题