私の redux アクションでは、1 つのアクションが別の 2 つのアクションによって呼び出されます。コードは以下のとおりです。
export const addParticipantFromPopupRequest = (participant, project_id, currentStep) => async (dispatch) => {
const result = await addParticipant(participant)
dispatch({ type: PARTICIPANT_ADD, payload: result })
dispatch(updateProjectStep(project_id, currentStep))
}
export const handleFinalStep = (projectId, currentStep) => async (dispatch) => {
dispatch(updateProjectStep(projectId, currentStep))
}
const updateProjectStep = (projectId, currentStep) => async (dispatch, getState) => {
dispatch({ type: MODAL_STATUS_CHANGE, payload: { projectId, currentStep } })
dispatch({ type: PROJECT_PROCESS_LIST_UPDATE, payload: { project_id: projectId, currentStep } })
const { projectsProcessListsReducer } = getState()
localStorage.setItem("projectsProcessLists", JSON.stringify(projectsProcessListsReducer))
}
updateProjectStep を呼び出すときにディスパッチを使用しないと、addParticipantFromPopupRequest と handleFinalStep を正しく実行できません。
私の質問は、この方法でディスパッチアクションを呼び出すことができますか?それは正しいですか? 関数名を直接呼び出すのではなく、別のアクションで updateProjectStep を呼び出すときに「ディスパッチ」が必要なのはなぜですか?