Mobx 4 - 在商店中声明可观察抛出语法错误

Mobx4 - declaring observable in store throwing a sintax error

根据 migration guide from mobx,这是现在分配可观察对象的正确方法(... 代表其他不相关的代码):

class BaseMapsStore {
  uiStore = null
  mapStore = null
  datesStore = null
  selectedBaseMap = "OSM"
  baseMapOptions = ["Sentinel", "OSM", "None"]
  layers = null
  ...
}

export default decorate(BaseMapsStore, {
  uiStore: observable,
  mapStore: observable,
  datesStore: observable,
  selectedBaseMap: observable,
  baseMapOptions: observable,
  layers: observable,
  ...
});

但是使用 create-react-app 我收到以下错误: 编译失败。

编译失败

./src/stores/BaseMapsStore/BaseMapsStore.js
Syntax error: Unexpected token (12:10)

  10 | 
  11 | class BaseMapsStore {
> 12 |   uiStore = null
     |           ^
  13 |   mapStore = null
  14 |   datesStore = null
  15 |   selectedBaseMap = "OSM"

我需要一个 babel 插件才能完成这项工作吗?确切的语法错误是什么?

Class fields 是第 3 阶段提案。

需要 Babel preset-stage-3(或更低版本)才能使用它们。

transform-decorators 还需要插件才能使 MobX 工作。