首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法赋值给'MyComponent‘,因为它不是变量( ReactJS中支持react-dnd多拖放

无法赋值给'MyComponent‘,因为它不是变量( ReactJS中支持react-dnd多拖放
EN

Stack Overflow用户
提问于 2019-04-15 23:56:56
回答 1查看 228关注 0票数 1

我希望使用react-dnd同时进行拖放操作

代码语言:javascript
复制
// ... imports ...
class MyComponent extends Component {
  render () {
    const { connectDragSource, isDragging, connectDropTarget, isOver } = this.props

    return connectDragSource(connectDropTarget(
      <div style={{ opacity: isDragging ? 0.5 : 1 }} >
        Just an example
     </div>
    ))
  }
}

MyComponent = DragSource('MyComponent', elementSource, (connect, 
monitor) => ({
  connectDragSource: connect.dragSource(),
  isDragging: monitor.isDragging()
}))(MyComponent);

MyComponent = DropTarget('MyComponent', elementTarget, connect => ({
  connectDropTarget: connect.dropTarget(),
}))(MyComponent);

export default MyComponent;

我发现这在here中是可能的。然而,在我的环境中,我得到了这个错误:

代码语言:javascript
复制
Cannot assign to 'MyComponent' because it is not a variable [.ts(2539)]

我正在使用TypeScript (.ts)。这会是问题所在吗?如果是这样,如何在TypeScript中实现同样的功能呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-16 00:00:17

不要试图重新分配类名,只需使用新名称:

代码语言:javascript
复制
class MyComponent extends ...

const MyComponent2 = DragSource(...)(MyComponent);
const MyComponent3 = DropTarget(...)(MyComponent2);
export default MyComponent3;

唯一重要的是,当调用者导入MyComponent时,您最终需要export default您希望调用者使用的版本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55693034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档