我是mobx状态树的新手,我正在尝试创建一个通用模型来执行重复性操作,同时使用mobx调用api
在进行api调用isLoading
,isFailed
,isSuccess
时可以保持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组件中,它都有自己的单独状态isLoading
,isFailure
,isSuccess
,在componentDidMount上会发生一次API调用,该调用会从isLoading
到{{1 }},然后分别是true
和isSuccess
,而我正进入Mobx状态
请帮我什么是合适的解决方案,尤其是对于isFailed
,isLoading
,isFailed
,将我所有的反应本地状态移动到mobx状态树,请提供参考演示,以帮助我构建标准模型