1

我正在实现Class extend,我得到这个错误Missing class properties transform

该组件是

import React from ('react')

const Manna = React.createClass({,

  initVal: {
       likes: 10,
   }

   render() {
     // code
      return {
        // code
      }

   }

});

module.exports = Manna 

并改为

import React from 'react';

export default class Manna extends React.Component {

  InitVal: {
    likes: 10
  }

  render() {
     // code
    return {
       // code
    }

  }

};

这是我在 webpack.config.dev.js 中的配置

{
  test: /\.js$/,
  loaders: 'babel?presets[]=react,presets[]=es2015,presets[]=stage-0',
  include: path.join(__dirname, 'client')
},

我已经按照这个答案更改了加载程序

之前loaders: ['babel']

我还向 .babelrc 添加了插件

["transform-class-properties"],

这是控制台中的错误

 Missing class properties transform.
  15 |   // },
  16 | 
> 17 |   InitVal: {
     |   ^
  18 |     likes: 10,
  19 |     code: "2",
  20 |     size: 350,

我不明白为什么现在抱怨缺少类属性转换,组件有什么问题?,在这些更改之前一切正常

这里是完整的 React 组件的要点

4

1 回答 1

1

试试=

import React from 'react';

export default class Manna extends React.Component {

  InitVal = {
    likes: 10
  }

  render() {
     // code
    return {
       // code
    }

  }

};

检查这个

更新

由于我们使用stage-0transform-class-properties包含在 中stage-2,因此我们不必手动将其包含在.babelrcplugins。以下配置工作正常:"presets": ["es2015", "stage-0", "react"].

在第5 InitVal行的要点是用大写字母写的,i而在第39行是用小写字母写的i: initVal。此外,render 方法返回一个无效的 Object Literal,一个要返回的子元素,如此处所述

是定义为 es6 类的反应组件的官方文档。

于 2016-09-19T22:21:09.910 回答