我正在尝试使用AsyncStorage
使用mobx-persist
('@ react-native-community / async-storage')持久性。我的实现基本上是这样的:https://github.com/pinqy520/mobx-persist。我可以看到我的商店处于水化状态(在商店本身的构造函数中)。我也可以在组件中访问我的商店,但是在应用程序启动之间不会保留任何更改。 mobx-persist甚至适合吗?我想念什么?文档是琐碎,贫乏和过时的,以及相应的样本(对于任何反应,*似乎都是很典型的。)]
更新:只是注意到它在componentDidMount中读取失败。看起来存储稍后会在componentDidMount中被水化。知道为什么吗?
结果是商店后来确实被水化了。我已将商店属性添加到指示的水合作用完成状态(注意,我没有坚持下去):
@observable hydrated = false;
constructor() {
hydrate('myStore', this).then(() => {
this.hydrated = true;
});
}
然后,在我的组件中,我开始听水化处理的声音:
when(
() => this.props.observableStore.hydrated,
() => this.doSomething(),
);
但是以上内容不足以使其起作用。我还必须添加另一个babel插件,以便react-native / decorators / Flow不会互相干扰-这实际上是我的解决方案的关键:
["@babel/plugin-proposal-class-properties", { "loose": true}]