我正在尝试使用AsyncStorage
使用mobx-persist
('@ react-native-community / async-storage')持久性。我的实现基本上是这样的:https://github.com/pinqy520/mobx-persist。我可以看到我的商店处于水化状态(在商店本身的构造函数中)。我也可以在组件中访问我的商店,但是在应用程序启动之间不会保留任何更改。 mobx-persist甚至适合吗?我想念什么?文档是琐碎,贫乏和过时的,以及相应的样本(对于任何反应,*看起来都是很典型的。)
更新:只是注意到它正在读取componentDidMount中的失败。看起来存储稍后会在componentDidMount中被水化。知道为什么吗?
答案 0 :(得分:0)
结果发现商店确实确实在后来被水化。我已将商店属性添加到指示的水合作用完成状态(注意,我没有坚持下去):
@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}]