Created by: rgrochowicz
Copying the contents of my MobX issue:
After trying out the latest create-react-app and mobx 4's decorate
, I found that my classes were no longer observable. At first glance, it looks like it's Babel 7's class property transform.
Here's a codesandbox: https://codesandbox.io/s/623qwprm8k
I'd expect the updated value of FooBabel7
to trigger the autorun
.
Differences in babel output: Source:
class Foo {
value = 1;
}
Babel 6:
class Foo {
constructor() {
this.value = 1;
}
}
Babel 7:
class Foo {
constructor() {
Object.defineProperty(this, "value", {
configurable: true,
enumerable: true,
writable: true,
value: 1
});
}
}
Enabling loose
mode reverts the transform back to the Babel 6 behavior.
Simple before/after: Current behavior:
Original MobX issue: https://github.com/mobxjs/mobx/issues/1471