mobx一个store设计的问题
看了一些例子我设计了如下store
一个页面的总store,结构如下
// 页面总的store
class store {
@observable list: []
@action async getData(){
const data = await axios.get('/getgoods');
this.list = data.map(item => new GoodsModel(this, item));
}
}
// 每个商品的model
class GoodsModel {
store;
@observable price;
@observable goodsName;
@observable goodsImg;
constructor(store, json){
this.store = store;
this.goodsName = json.goods_name;
this.goodsImg = json.img_url;
this.price = json.price;
}
}
每个单个商品的model只保存了属于自己的信息,但是有时需要用到整个页面store中的数据,所有我在每个model中有一个store属性,但是这样设计在JSON.stringify()
中就会报循环引用了,因为store中的list有model,model中又有store,这样相互依赖的问题如何解决呢,请问mobx还有其他的设计思路吗
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你这样的设计是没问题的,问题在:
JSON.stringify()
? 你已经构建出了JS对象,页面渲染时直接通过访问对象属性即可,应该不需要JSON.stringify()
。我感觉modal和页面两个store就够了,公用的部分不一定要在store里面处理,在代码里面处理