首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mobx-persist和AsyncStore持久化数据

使用mobx-persist和AsyncStore持久化数据
EN

Stack Overflow用户
提问于 2019-12-12 22:45:06
回答 1查看 2K关注 0票数 0

我正在尝试通过mobx-persist使用AsyncStorage ('@react-native-community/async-storage')持久化。我的实现基本上是这样的:https://github.com/pinqy520/mobx-persist。我可以看到我的存储是水合的(在store本身的构造函数中)。我也可以在我的组件中访问我的商店,但不会在应用程序启动之间保留任何更改。mobx-persist是否适合这样做?我错过了什么?文档是琐碎的、糟糕的和过时的,以及相应的示例(对于任何react-*来说似乎都是非常典型的)。

更新:刚刚注意到在componentDidMount中读取失败。看起来商店是水化的,然后在componentDidMount。知道为什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-15 17:16:00

后来发现商店确实补充了水分。我已经将store属性添加到指示的水合完成(注意,我没有持久化它):

代码语言:javascript
复制
  @observable hydrated = false;

  constructor() {
    hydrate('myStore', this).then(() => {
      this.hydrated = true;
    });
  }

然后在我的组件中,我开始监听水合结束:

代码语言:javascript
复制
    when(
      () => this.props.observableStore.hydrated,
      () => this.doSomething(),
    );

然而,以上内容还不足以使其正常工作。我还必须添加另一个babel插件,以便react-native/装饰器/流不会相互干扰-这实际上是我的解决方案的关键:

代码语言:javascript
复制
["@babel/plugin-proposal-class-properties", { "loose": true}]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59307080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档