我试图学习如何将MobX与React Native结合使用。 我试图在GH中找到一些示例,但是它们已经很老了。 (2-3岁)。
我想在Expo Bare(ExpoKit)上编写应用程序,但我不知道为什么在更改MobX @observables时为什么我的组件没有重新渲染。
我因以下问题制作了小吃:https://snack.expo.io/@krasov/mobx-reproduction
Idk,可能是我看错了文档,但是我不知道这里出了什么问题。
答案 0 :(得分:1)
如果您使用的是MobX 6,则现在需要在构造函数中使用makeObservable
方法,以实现与以前使用MobX 5相同的装饰器功能:
import { makeObservable } from "mobx"
class Store {
@observable string = 'Test String';
@action setString = (string) => {
this.string = string;
console.log(`new value = ${this.string}`);
};
constructor() {
// Just call it here
makeObservable(this);
}
}
尽管有新事物可能会让您完全放弃装饰器,makeAutoObservable
:
import { makeAutoObservable } from "mobx"
class Store {
// Don't need decorators now
string = 'Test String';
setString = (string) => {
this.string = string;
console.log(`new value = ${this.string}`);
};
constructor() {
// Just call it here
makeAutoObservable (this);
}
}
更多信息在这里 https://mobx.js.org/migrating-from-4-or-5.html 和 https://mobx.js.org/react-integration.html