gpt4 book ai didi

react-native - 如果 Mobx @observable 的初始值在 react-native 0.59 中未定义,则它不起作用

转载 作者:行者123 更新时间:2023-12-05 04:00:20 26 4
gpt4 key购买 nike

我正在将 react-native 0.51.1 迁移到 0.59.8。我正面临 Mobx 的问题。

如果@observable 修饰的成员像这样分配了初始值

@observable cnt = 0;

然后就可以了。

但是如果它是未定义的,

@observable cnt;

那就不行了。

我有许多未定义的可观察商店,它们在 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}],
],
}
//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++;
}
}

最佳答案

我明确地解决了声明 undefined 的问题。

@observable cnt = undefined;

关于react-native - 如果 Mobx @observable 的初始值在 react-native 0.59 中未定义,则它不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56290003/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com