我正在尝试弄清楚如何构建我的应用程序,例如,我有一个模型用户,一个通用的UserStore来跟踪到目前为止所有用户的负载,以及一些与UI相关的商店,例如FriendList,PendingFriendList,BlockedUserList,LikedUserList等。那:
class User {
id;
@observable name;
@observable avatar;
// others functions and fields
}
class UserStore {
@observable users = [];
function resolve(id) { /*return by id*/}
function createOrUpdateUser(json) { /* add user to this.users */ }
}
class FriendStore {
@observable users = [];
hasNextPage = true;
currentPage = null;
function loadNextPage(page) {
api.loadFriends(page >= 0 ? page : this.currentPage + 1).then( users => {
users.forEach( user => {
this.users.push( UserStore.createOrUpdateUser(user) )
})
})
}
}
class PendingFriendUsers {
@observable users = [];
@observable query = null;
hasNextPage = true;
currentPage = null;
function loadNextPage(page) {
// more or less like FriendStore
}
}
class BlockedUserStore {
// more or less like FriendStore
}
我的问题是:这是走的路吗?或者,还有更好的方法 ??
最佳答案
我曾在Mobx&react上进行过一些项目,所以我发现这种结构最适合我。
专卖店
对于前。用户数据
对于前。加载,错误变量
楷模
用于前用户模型
服务
组件