使用MST创建通用模型

时间:2019-12-20 08:37:32

标签: javascript reactjs mobx mobx-react mobx-state-tree

我是mobx状态树的新手,我正在尝试创建一个通用模型来执行重复性操作,同时使用mobx调用api

在进行api调用isLoadingisFailedisSuccess时可以保持3种状态,但是我不知道如何实现这些功能,这是我所做的一个例子

const StateModel = types
  .model('StateModel', {
    isLoading: types.optional(types.boolean, false),
    isFailed: types.optional(types.boolean, false),
    isSuccess: types.optional(types.boolean, false),
    error: types.optional(types.maybeNull(types.frozen()), null),
  })
  .actions((self) => ({
    setLoading(status) {
      self.isLoading = status;
    },
    setResponse() {
      self.isLoading = false;
      self.isFailed = false;
      self.isSuccess = true;
    },
    setError(error) {
      self.isLoading = false;
      self.isFailed = true;
      self.error = error;
    },
  }));

问题是我如何在每个单独的模型中使用这些东西,就像我将所有本地状态移到mobx状态

在我的每个React组件中,它都有自己的单独状态isLoadingisFailureisSuccess,在componentDidMount上会发生一次API调用,该调用会从isLoading到{{1 }},然后分别是trueisSuccess,而我正进入Mobx状态

请帮我什么是合适的解决方案,尤其是对于isFailedisLoadingisFailed,将我所有的反应本地状态移动到mobx状态树,请提供参考演示,以帮助我构建标准模型

0 个答案:

没有答案