Я мигрирую реагирующий нативный от 0,51,1 до 0,59,8. И я сталкиваюсь с проблемой Mobx.
Если оформленный элемент @observable назначил значение инициализации, подобное этому
@observable cnt = 0;
тогда это работает.
Но если оно не определено,
@observable cnt;
тогда это не работает.
У меня есть много неопределенных наблюдаемых магазинов, и они работали в 0.51.0.
Я хочу, чтобы это работало как неопределенное.
Варианты декорирования бабеля были изменены во время миграции.
// 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}],
],
}
//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++;
}
}
//This works
import { observable } from 'mobx';
export class Count {
@observable cnt = 0;
constructor(initValue = 0) {
this.cnt = initValue;
}
add(){
this.cnt++;
}
}