首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >meteor-react -Missing类属性转换

meteor-react -Missing类属性转换
EN

Stack Overflow用户
提问于 2016-09-22 20:38:42
回答 1查看 613关注 0票数 3

我正在尝试用react项目在我的meteor中实现react-dnd。

我得到这样的错误:错误阻止启动:

使用ecmascript处理文件时(对于目标web.browser):client/Card.js:37:2: /client/Card.js:缺少类属性转换。

代码语言:javascript
复制
card.js file:
    import React, { Component, PropTypes } from 'react';
import ItemTypes from './ItemTypes';
import { DragSource, DropTarget } from 'react-dnd';

const style = {
  border: '1px dashed gray',
  padding: '0.5rem 1rem',
  marginBottom: '.5rem',
  backgroundColor: 'white',
  cursor: 'move'
};

const cardSource = {
  beginDrag(props) {
    return { id: props.id };
  }
};

const cardTarget = {
  hover(props, monitor) {
    const draggedId = monitor.getItem().id;

    if (draggedId !== props.id) {
      props.moveCard(draggedId, props.id);
    }
  }
};

@DropTarget(ItemTypes.CARD, cardTarget, connect => ({
  connectDropTarget: connect.dropTarget()
}))
@DragSource(ItemTypes.CARD, cardSource, (connect, monitor) => ({
  connectDragSource: connect.dragSource(),
  isDragging: monitor.isDragging()
}))
export default class Card extends Component {
  static propTypes = {
    connectDragSource: PropTypes.func.isRequired,
    connectDropTarget: PropTypes.func.isRequired,
    isDragging: PropTypes.bool.isRequired,
    id: PropTypes.any.isRequired,
    text: PropTypes.string.isRequired,
    moveCard: PropTypes.func.isRequired
  };

  render() {
    const { text, isDragging, connectDragSource, connectDropTarget } = this.props;
    const opacity = isDragging ? 0 : 1;

    return connectDragSource(connectDropTarget(
      <div style={{ ...style, opacity }}>
        {text}
      </div>
    ));
  }
}

  package.json file:
    {
  "name": "meteorExample",
  "private": true,
  "scripts": {
    "start": "meteor run"
  },
  "dependencies": {
    "material-ui": "^0.15.4",
    "meteor-node-stubs": "~0.2.0",
    "react": "^15.0.1",
    "react-addons-pure-render-mixin": "^15.3.2",
    "react-dnd": "~2.1.4",
    "react-dnd-html5-backend": "~2.1.2",
    "react-dom": "^15.3.2",
    "react-router": "^2.3.0",
    "react-tap-event-plugin": "^1.0.0",
    "babel-plugin-react-transform": "~2.0.2",
    "babel-plugin-transform-class-properties": "~6.11.5",
    "babel-register": "~6.14.0"
  },
  "devDependencies": {
    "babel-preset-stage-0": "~6.5.0"
  }
}
EN

回答 1

Stack Overflow用户

发布于 2016-12-24 09:04:14

您需要添加babel-plugin-transform-class-properties

add the following package:

代码语言:javascript
复制
meteor npm install --save-dev babel-plugin-transform-class-properties

编辑项目中的package.json,并在其中添加以下内容以生成the package work:

代码语言:javascript
复制
 "babel": {
    "plugins": ["transform-class-properties"]

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

https://stackoverflow.com/questions/39639311

复制
相关文章

相似问题

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