问题标签 [redux-middleware]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
81 浏览

redux - 为什么中间件转换后的 createAsyncThunk.fulfilled 操作负载没有在 Thunk 调用点转换?

我有一个重复一些记录的重击:

我使用 createAsyncThunk 来包装 axios 承诺。这样,每个网络请求都是一个 redux 操作。在 action.fulfilled 结果负载到达目的地之前,我使用全局 redux 中间件对其进行转换。不幸的是,我注意到转换后的有效负载反映在减速器中,但没有反映在 thunk 调用站点的等待承诺数据中。为什么?这不是 Rtk 独有的。

0 投票
1 回答
25 浏览

reactjs - 刷新令牌后如何重新提交请求?

情况:我发送一个请求来接收一些数据并收到令牌已过期的响应。接下来,我必须更新令牌并重新发送我一开始发送的请求。如何使用 redux-toolkit 和中间件来做到这一点?

用于捕获错误的中间件:

刷新令牌后发送的请求:

重要提示:不仅可以发送 getSmth 请求,还可以发送任何其他请求,您还需要在中间件中执行此操作

0 投票
0 回答
12 浏览

reactjs - 在自定义 redux 中间件中根据操作类型设置条件是否很好?

我将创建一个自定义的 redux。并且根据不同的场景,我会在中间件内部做一些额外的事情。

我有两个选项来检测检查条件。选项 1 是检查动作类型并根据动作类型执行额外动作。

另一种选择是代替在中间件中设置条件,我将对动作做一些事情,我在原始动作中添加一些额外的属性。所以自定义中间件将是:

对于动作,如果原始动作对象是{ type: 'TYPE1', payload: 'abc' },对于那些我想做一些额外的事情,我会将其修改为{ type: 'TYPE1', payload: 'abc', extraAction: true }. 但是对于那些没有额外财产的人,我会让他们像{ type: 'TYPE2', payload: 'abcd' }没有额外财产一样旧。

我想知道哪种方式更好。