第三个action问题

来源:4-4 Redux状态管理4-更进一步,让 Redux 可以处理异步

慕粉3775984

2017-10-30

export function addGunAsync() {
  return dispatch => {
    setTimeout(()=>{
      dispatch(addGun())
    }, 2000)
  }
}

参数dispatch在环境中没有定义,是store.dispatch()包裹下的函数会自动传递一个dispatch参数进去吗,第一个和第二个action都只返回了一个对象,第三个为什么不能这么写

export function addGunAsync() {
  return () => {
    setTimeout(()=>{
      addGun()
    }, 2000)
  }
}


写回答

1回答

慕瓜8449030

2017-10-30

因为 redux 默认只支持同步的 我们 return 一个 object,会自动 dispatch,下面这个函数是异步的,我们就得手动 dispatch 了

结论:同步的直接 return 即可,异步的,必须要手动 dispatch

1
4
慕瓜8449030
回复
小王子抓猫咪
你好 并不是有些资料喜欢叫next 而是你在写中间件的时候 调用这个触发执行下次中间件,我们后面有自己实现redux的中间件机制 自己实现一遍 理解会更深刻
2017-11-13
共4条回复

Redux+React Router+Node.js全栈开发

全网唯一的React 16+Redux+React Router4实战课程,学到手是你的真本领!

1822 学习 · 750 问题

查看课程