Javascript 在另一个reducer中重复更新状态 安装程序

Javascript 在另一个reducer中重复更新状态 安装程序,javascript,reactjs,redux,reducers,Javascript,Reactjs,Redux,Reducers,在我的应用程序中,我有一些学生被分配了家庭作业。每次创建一个学生时我循环查看当前作业并更新每个学生的作业数组 我的问题是当我做家庭作业时。不仅必须创建作业,而且在创建作业后,我还需要将作业分配给特定的学生 我已将我的应用程序拆分为三个减缩器;课程、学生和家庭作业 问题: 如何从作业列表中更新我的学生状态?我需要等待,直到家庭作业被创建,然后在每个学生中分配家庭作业数组。也许我可以先采取一种行动,然后再采取另一种行动 case actionTypes.CREATEHOMEWORKS: //

在我的应用程序中,我有一些学生被分配了家庭作业。每次创建一个学生时我循环查看当前作业并更新每个学生的作业数组

我的问题是当我做家庭作业时。不仅必须创建作业,而且在创建作业后,我还需要将作业分配给特定的学生

我已将我的应用程序拆分为三个减缩器;课程、学生和家庭作业

问题: 如何从作业列表中更新我的学生状态?我需要等待,直到家庭作业被创建,然后在每个学生中分配家庭作业数组。也许我可以先采取一种行动,然后再采取另一种行动

case actionTypes.CREATEHOMEWORKS:
    // Get new homework description
    const newHomework = action.newHomework
    // Get the currently active class
    const activeClass = action.activeClass.key;
    // Get users current browser data
    const dateCreated = getCurrentDate();
    // Generare a new UID
    const key = guid();
    // Create a new homework object
    const homework = { key: key, class: activeClass, dateCreated: dateCreated, description: newHomework };
    // Get the current homework array
    const homeworks = JSON.parse(JSON.stringify(state.homeworks));
    // Combine current homework with new homework object.
    homeworks.push(homework);
    
    // I now need to update students to have this homework but they are handled
    // in another state

您的减速机应该是一个纯函数-也就是说,给定相同的输入,它将始终生成相同的输出。您正在减速器中生成一个随机GUID,因此相同的输入永远不会给出相同的输出。如果要将GUID生成移动到操作中,可以将其传递到
CreateHome作业
操作的有效负载中,然后还可以在
学生
reducer处理的
分配家庭作业
操作中分派它。

您可以参考以下解释:这已成功,通过将日期和guid作为有效负载的一部分,我能够向两个减速机发送相同的操作。非常感谢你