返回调度函数或返回

时间:2020-07-21 13:52:54

标签: reactjs redux react-redux

我正在学习redux,并且正在阅读react/redux源代码。在actions/Video.js文件中,它具有以下代码:

export const startDownloading = url => dispatch => {
  ipcRenderer.send("video:url", { url });
  dispatch({
    type: START_DOWNLOADING
  });
};

export const getVideoInfo = info => {
  return { type: GET_VIDEO_INFO, payload: info };
};

那么之间有什么区别

export const startDownloading = url => dispatch => {
  ipcRenderer.send("video:url", { url });
  dispatch({
    type: START_DOWNLOADING
  });
};

export const startDownloading = url => {
  ipcRenderer.send("video:url", { url });
  return {
    type: START_DOWNLOADING
  };
};

我的意思是,什么时候应该返回一个对象,什么时候应该在action文件中调用dispatch函数?

1 个答案:

答案 0 :(得分:0)

区别在于如何在商店中触发更改, 默认情况下,调用操作将不会触发由reducer处理的事件

因此您可以调用dispatch和对象或函数

功能

export const someFunction = () => ({type: 'actioncreator'})
dispatch(someFunction())

对象

dispatch({type: 'actioncreator'}

您可以在组件内部或操作文件夹内分派操作