我正在学习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函数?
答案 0 :(得分:0)
区别在于如何在商店中触发更改, 默认情况下,调用操作将不会触发由reducer处理的事件
因此您可以调用dispatch
和对象或函数
功能
export const someFunction = () => ({type: 'actioncreator'})
dispatch(someFunction())
对象
dispatch({type: 'actioncreator'}
您可以在组件内部或操作文件夹内分派操作