在React Redux中,从ActionCreator返回Promise可以通过使用中间件来实现。中间件是一个位于action被发起之后,到达reducer之前的扩展点,它可以拦截、处理和转发action。常用的中间件是redux-thunk和redux-saga。
- 使用redux-thunk中间件:
- 安装redux-thunk:
npm install redux-thunk
- 在Redux的store配置中,将redux-thunk作为中间件应用:
- 在Redux的store配置中,将redux-thunk作为中间件应用:
- 在ActionCreator中,可以返回一个函数而不是一个普通的action对象。这个函数接收dispatch和getState作为参数,可以在函数内部进行异步操作,并在操作完成后使用dispatch触发其他action。
- 在ActionCreator中,可以返回一个函数而不是一个普通的action对象。这个函数接收dispatch和getState作为参数,可以在函数内部进行异步操作,并在操作完成后使用dispatch触发其他action。
- 使用redux-saga中间件:
- 安装redux-saga:
npm install redux-saga
- 在Redux的store配置中,将redux-saga作为中间件应用:
- 在Redux的store配置中,将redux-saga作为中间件应用:
- 创建一个saga文件,定义异步操作的逻辑:
- 创建一个saga文件,定义异步操作的逻辑:
- 在ActionCreator中,触发异步操作的action:
- 在ActionCreator中,触发异步操作的action:
以上是在React Redux中从ActionCreator返回Promise的两种常见方式。通过使用redux-thunk或redux-saga中间件,可以实现在ActionCreator中进行异步操作,并在操作完成后触发其他action来更新Redux的状态。