Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ECMAScript 5-缺少类属性转换时出错_Javascript_Reactjs_Ecmascript 6_Babeljs_Es6 Class - Fatal编程技术网

Javascript ECMAScript 5-缺少类属性转换时出错

Javascript ECMAScript 5-缺少类属性转换时出错,javascript,reactjs,ecmascript-6,babeljs,es6-class,Javascript,Reactjs,Ecmascript 6,Babeljs,Es6 Class,我正在实现类扩展,我得到了这个缺少类属性转换的错误 组件是 import React from ('react') const Manna = React.createClass({, initVal: { likes: 10, } render() { // code return { // code } } }); module.exports = Manna 改成 import React

我正在实现
类扩展
,我得到了这个缺少类属性转换的错误

组件是

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,
我不明白为什么它现在抱怨缺少类属性转换,组件出了什么问题?在这些更改之前,一切正常

这里有一个完整的反应组件

尝试=

检查

更新

由于我们正在使用
stage-0
,并且
transform class properties
包含在
stage-2
中,因此我们不必手动将其包含在
插件下的
.babelrc
中。以下配置工作正常:
“预设”:[“es2015”、“0级”、“反应”]

在要点中,at行
InitVal
是用大写的
i
写的,而at行是用小写的
i
写的:
InitVal
。另外,render方法返回一个对象文本,该文本无效,返回一个子元素,如所述


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

您应该添加一个注意事项,即这也不是es6。意外标记now>17 | InitVal={这里是要点中的完整组件,我注意到您正在使用
stage-0
transform class properties
包含在
stage-2
中,因此您不必手动将其包含在
下的
插件下的
中。我有以下配置,工作正常:
预设“[“es2015”,“第0阶段”、“反应”]
。您是否也尝试过删除
node\u模块
并运行
npm安装
?第
InitVal
行使用大写
i
编写,而第At行使用小写
i
编写:
InitVal
。我还注意到,
render
方法返回一个无效的对象文本,如前所述,必须返回一个子元素
import React from 'react';

export default class Manna extends React.Component {

  InitVal = {
    likes: 10
  }

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

  }

};