我正在尝试获取与User
有关系的模型Projects
。
这是我的models/user.js
*fetchUser({ payload, callback }, { call, put }) {
const user = yield call(queryUser, payload);
yield put({
type: 'setCurrentUser',
payload: user,
});
if (callback) callback();
},
最佳做法是什么?我应该在哪里调用函数queryProjects
?
也许在这条线之下?
const user = yield call(queryUser, payload);
const projects = yield call(queryProjects, user); // new api call
答案 0 :(得分:0)
制作两个模型,users
和projects
那你就可以做到
*fetchUser({ payload, callback }, { call, put }) {
const user = yield call(queryUser, payload);
yield put({
type: 'setCurrentUser',
payload: user,
});
yield put({type: 'projects/fetchByUserId', payload: user.id});
},
Inside your `projects` model.
*fetchByUserId({payload){
// do ajax call
}
一旦有了项目数据,就可以使用用户ID过滤项目数组(考虑到您的项目具有类似project.user_id
的内容),并将其显示到应用程序中。
您可以让后端服务器在用户对象中为用户发送项目列表。
{
id: 1,
username: "foo",
projects: [
{id: 1},
{id: 2}
{id: 3}
]
}
我希望这是有道理的。