关于Redux-thunk下dispatch2次派发的问题

Olivert_Vz 2018-11-23 10:12:33

//在index中使用dispatch
const mapDispatch = (dispatch)=>({
getHomeData(){
dispatch(actionCreators.getHomeData(dispatch));
}
})
//在actionCreators里使用dispatch
export const getHomeData = () => {
return (dispatch)=>{
axios.get('/api/home.json').then((res)=>{
const result = res.data.data;
dispatch(changeHomeData(result));
}).catch(()=>{
console.log('gg')
})
}}


不太能理解在index里的dispatch操作,dispatch不是要发送一个action对象吗? actionCreator里的getHomeData返回的是一个函数,怎么需要放到dispatch里?
不是应该直接调用 actionCreators.getHomeData(dispatch) 这个函数吗
...全文
122 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Olivert_Vz 2018-12-20
  • 打赏
  • 举报
回复
懂了懂了,thunk中间件返回的函数会自动执行,相当于index里的dispatch是调用了actionCreator,然后由actioncreator来派发action。

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧