我正在实施Class extend
,我收到此错误缺少类属性转换。
组件
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')
},
我已按照此answer
更改了加载程序之前loaders: ['babel']
我还在.babelrc中添加了插件
["transform-class-properties"],
这是控制台中的错误
Missing class properties transform.
15 | // },
16 |
> 17 | InitVal: {
| ^
18 | likes: 10,
19 | code: "2",
20 | size: 350,
我不明白为什么它现在抱怨缺少类属性转换,组件有什么问题?在这些更改之前一切正常工作
这里有一个gist,其中包含完整的React组件
答案 0 :(得分:1)
尝试使用 =
import React from 'react';
export default class Manna extends React.Component {
InitVal = {
likes: 10
}
render() {
// code
return {
// code
}
}
};
检查this
<强>更新强>
由于我们使用的stage-0
和transform-class-properties
已包含在stage-2
中,因此我们不必在.babelrc
plugins
下手动将其包含在"presets": ["es2015", "stage-0", "react"]
中。以下配置工作正常:InitVal
。
在5 i
行的要点上写着大写i
,而在39行写的是小写initVal
:{{1 }}。此外,render方法返回一个无效的Object Literal,它将按照here的说明返回一个子元素。
Here是定义为es6类的反应组件的官方文档。