@observable vs extendObservable用法

时间:2017-05-31 23:12:50

标签: mobx

docs say

  

@observable key = value;是extendObservable的糖(this,{key:value})

works on Fiddle,那么我做错了什么?

代码..

export default {

    mounted () {
        $('#calendar').fullCalendar({})
    }

}

应该与..相同。

class Data1 {
  @observable all = [];
}

但是..

测试..

Data1中的测试失败...

class Data2 {
  constructor() {
    extendObservable(this, {
      all : [],
    })
  }
}

但是传入Data2 ......

test('all should be defined', () => {
  const data1 = new Data1();
  expect(store.all).toBeDefined(); // FAIL, IS NOT EVEN DEFINED
});

巴别

test('all should be an observable array', () => { const data2 = new Data2(); const isObservable = isObservableArray(data1.all); expect(isObservable).toBeTruthy(); // PASS!! }); 我有......

.babelrc

1 个答案:

答案 0 :(得分:1)

<{strong> transform-class-properties

后,transform-decorators-legacy必须

我错过了有关decorator usage ..

的文档
  

确保transform-decorators-legacy出现在transform-class-properties之前。