代码之家  ›  专栏  ›  技术社区  ›  isar

使用Babel将Arrow函数用作类属性

  •  10
  • isar  · 技术社区  · 7 年前

    有人能解释一下React中的Babel是如何支持fat arrow作为类属性的吗? 使用巴别塔 Try it out 我可以看出它们不受支持:

    class Question {
    
      // Property (not supported)
      myProp = () => {
        return 'Hello, world!';
      }
    
      // Method (supported)
      myFunc() {
        return 'Hello, world!';
      }
    
    }
    

    ES6不支持类属性(如果我错了,请纠正我),但在React(使用Babel)中它们可以工作。

    我可以看到使用TypeScript的方法和属性之间的区别 Playground 但我不清楚巴贝尔是否支持他们。 有插件吗?

    更新时间:
    我可以看到,他们支持使用 "babel-preset-stage-0"

    2 回复  |  直到 7 年前
        1
  •  3
  •   GG.    7 年前

    要支持类属性,您需要安装并添加 babel-plugin-transform-class-properties plugins 设置您的 .babelrc (或在您的 webpack 配置)。

    请注意,此插件也包含在

    所以,如果你使用其中一个,你不需要安装 babel插件转换类属性 你自己去吧。

        2
  •  0
  •   isar    7 年前

    正如@文盲作家建议的那样,支持类属性 Stage 0 preset . 目前,他们的支持期限为 Stage 2 preset :

    该提案现在还必须对该特性的语法和语义进行正式描述(使用ECMAScript规范的正式语言)。描述应尽可能完整,但可以包含TODO和占位符。该特性需要两个实验性实现,但其中一个可以在Babel之类的transpiler中实现。