Redux 使用thunks漏斗进入单个动作,还是使用重复的案例陈述?

Redux 使用thunks漏斗进入单个动作,还是使用重复的案例陈述?,redux,Redux,这些方法中的一种在编程上比另一种有什么优势吗 actions.js 与: reducers.js 还是说这些几乎等同,只是偏好的问题?我能看到的使用thunks的唯一优势是,如果用户保存了数据,与只单击关闭按钮相比,可以执行额外的处理。它至少为以后保留了该选项。第一个示例中的三个动作创建者都是等效的。您根本没有发送用户\u关闭的\u对话框或用户\u保存的\u数据。这就是您想要的吗?只需假设在其他地方(在React容器中),dispatch(userClosedDialog())或dispatch

这些方法中的一种在编程上比另一种有什么优势吗

actions.js 与:

reducers.js
还是说这些几乎等同,只是偏好的问题?我能看到的使用thunks的唯一优势是,如果用户保存了数据,与只单击关闭按钮相比,可以执行额外的处理。它至少为以后保留了该选项。

第一个示例中的三个动作创建者都是等效的。您根本没有发送用户\u关闭的\u对话框或用户\u保存的\u数据。这就是您想要的吗?只需假设在其他地方(在React容器中),
dispatch(userClosedDialog())
dispatch(userSavedData())
正在被调用。但是它们应该调度多个操作吗?或者它们只是
closeDialog()
的别名。如果是后者,您甚至不需要thunks,只需编写
returnclosedialog()。它们不一定是别名。从逻辑上讲,它是这样工作的:用户单击对话框上的“X”按钮,这将触发
CLOSE\u dialog
。或者,用户单击“保存”以保存一些数据(异步),然后触发
关闭\u对话框
。您看到了吗?
export const USER_CLOSED_DIALOG = 'USER_CLOSED_DIALOG';
export function userClosedDialog() {
  return (dispatch) => {
    dispatch(closeDialog());
  }
}

export USER_SAVED_DATA = 'USER_SAVED_DATA';
export function userSavedData() {
  return (dispatch) => {
    dispatch(closeDialog());
  }
}

export const CLOSE_DIALOG = 'CLOSE_DIALOG';
export function closeDialog() {
  return { type: CLOSE_DIALOG }
}
switch (action.type) {
  case USER_CLOSED_DIALOG:
  case USER_SAVED_DATA:
  case CLOSE_DIALOG:
    return { ...state, dialogOpen: false };
  default:
    return state;
}