侦听redux thunk操作创建者的状态更改

侦听redux thunk操作创建者的状态更改,redux,react-redux,redux-thunk,Redux,React Redux,Redux Thunk,我无法从redux thunk action创建者的上下文中清楚地知道何时启动了特定操作或何时更新了特定状态 我想这样做: 行动 检测可能的可恢复错误条件 错误条件会分派一个不同的动作信号恢复过程 等待恢复完成 继续当前操作或重新分派它 具体例子: 用户交互触发API调用操作 请注意,API调用失败,需要登录 发送“需要登录”操作,为用户弹出一个 等待登录状态更改(或发生登录成功操作,无论什么) 再次进行相同的API调用 如果您想检查要分派的特定操作,则需要中间件 实际上,如果你想“订阅一个给定

我无法从redux thunk action创建者的上下文中清楚地知道何时启动了特定操作或何时更新了特定状态

我想这样做:

  • 行动
  • 检测可能的可恢复错误条件
  • 错误条件会分派一个不同的动作信号恢复过程
  • 等待恢复完成
  • 继续当前操作或重新分派它
  • 具体例子:

  • 用户交互触发API调用操作
  • 请注意,API调用失败,需要登录
  • 发送“需要登录”操作,为用户弹出一个
  • 等待登录状态更改(或发生登录成功操作,无论什么)
  • 再次进行相同的API调用

  • 如果您想检查要分派的特定操作,则需要中间件


    实际上,如果你想“订阅一个给定的状态”,Redux并没有提供一种内置的方式来实现这一点。然而,有许多实用程序为您实现这种逻辑。请参阅的Redux常见问题解答,以及我的Redux插件目录中的。(列表中可能还有一些对“倾听行动”场景有用的内容。)

    要可视化商店中发生的事情,您可以使用:

    import {composeWithDevTools} from 'redux-devtools-extension';
    
    并将您的存储创建为:(例如,使用thunk中间件)

    然后您可以在浏览器中使用扩展名。 您可以通过“react redux”作为道具通过
    {connect}访问您的状态。
    然后,您的操作将通过还原器更改状态,这将导致您的组件接收新的道具,以便您可以将逻辑放入

    componentWillReceiveProps(nextProps) {/*your business logic*/}
    

    传递失败的API调用(例如uri)以及登录所需的操作如何。然后您可以在登录对话框中使用它。
    componentWillReceiveProps(nextProps) {/*your business logic*/}