有人可以解释React中的Babel如何支持胖箭头函数作为类属性? 使用Babel Try it out我可以看到它们不受支持:
class Question {
// Property (not supported)
myProp = () => {
return 'Hello, world!';
}
// Method (supported)
myFunc() {
return 'Hello, world!';
}
}
ES6不支持类属性(如果我错了,请纠正我),但在React(使用Babel)中它们可以正常工作。
我可以使用TypeScript Playground看到方法和属性之间的区别,但我无法清楚地了解Babel是否支持它们。 有插件吗?
更新:
我可以看到使用"babel-preset-stage-0"
支持它们。
答案 0 :(得分:3)
要支持类属性,您需要在plugins
(或.babelrc
配置中)webpack
设置中安装babel-plugin-transform-class-properties
并添加babel-preset-stage-0
。
请注意,此插件也包含在
中因此,如果您使用其中之一,则无需自己安装babel-plugin-transform-class-properties
。
答案 1 :(得分:0)
由于@illiteratewriter建议Stage 0 preset支持类属性。目前,它们一直受到支持,直到Stage 2 preset:
该提案现在必须另外具有该功能的语法和语义的正式描述(使用ECMAScript规范的形式语言)。描述应尽可能完整,但可以包含待机和占位符。需要对该特征进行两个实验性实现,但其中一个可以在诸如Babel的转换器中。