Met*_*iza 3 observable react-native mobx mobx-react
我正在将react-native 0.51.1 迁移到0.59.8。我正面临 Mobx 的问题。
如果 @observable 装饰成员已分配像这样的 init 值
@observable cnt = 0;
Run Code Online (Sandbox Code Playgroud)
然后就可以了。
但如果它是未定义的,
@observable cnt;
Run Code Online (Sandbox Code Playgroud)
那么它就不起作用了。
我有许多未定义的可观察商店,它们在 0.51.0 中工作。
我想让它以未定义的方式工作。
Babel 装饰选项在迁移过程中已更改。
// babel.config.js
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: [
['@babel/plugin-transform-flow-strip-types'],
['@babel/plugin-proposal-decorators', { 'legacy': true}],
['@babel/plugin-proposal-class-properties', { 'loose': true}],
],
}
Run Code Online (Sandbox Code Playgroud)
//This doesn't work but worked in react-native 0.51.0
import { observable } from 'mobx';
export class Count {
@observable cnt;
constructor(initValue = 0) {
this.cnt = initValue;
}
add(){
this.cnt++;
}
}
Run Code Online (Sandbox Code Playgroud)
//This works
import { observable } from 'mobx';
export class Count {
@observable cnt = 0;
constructor(initValue = 0) {
this.cnt = initValue;
}
add(){
this.cnt++;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2236 次 |
| 最近记录: |